



MIT писал(а):Как отрендерить невидимый текстбокс на картинку?


Использование метода DrawToBitmap имеет следующие ограничения:
- Исключение ArgumentException может выдаваться для больших точечных рисунков. Максимально допустимый размер определяется особенностями компьютера.
- Метод DrawToBitmap не поддерживает элементы управления Ink для операционных систем Windows XP Tablet PC Edition 2005.
- Метод DrawToBitmap не прорисовывает дочерний объект TextBox, если для свойства Visible объекта TextBox задано значение false.
- Элементы управления внутри контейнеров прорисовываются в обратном порядке.
- Метод DrawToBitmap обладает ограниченной функциональностью по отношению к объекту RichTextBox; с его помощью прорисовывается только граница точечного рисунка.


   Dim bmp As New Bitmap(TextBox1.Width, TextBox1.Height)
        TextBox1.DrawToBitmap(bmp, New Rectangle(0, 0, bmp.Width, bmp.Height))
        bmp.Save("C:\test.bmp")


MIT писал(а):Как отрендерить невидимый текстбокс на картинку?
MSDN писал(а):Метод DrawToBitmap не прорисовывает дочерний объект TextBox, если для свойства Visible объекта TextBox задано значение false.






textBox tb = new textBox();
tb.DrawToBitmap();



Тоже мысль, но я все-же склоняюсь к идее выноса текстбокса за пределы видимости.Ramzes писал(а):А отрисовать Textbox, который не лежит на форме?
Metallikus писал(а):А что если использовать метод drawString() для прорисовки textbox.text в picturebox, а потом picturebox.DrawToBitmap()? Ведь picturebox можно сделать похожим на textbox, и шрифт в drawString() можно сделать таким же как и в textbox... И у тебя получится графически точная копия текстбокса. Правда ресурсов много жрать будет...


                Dim rect As New Rectangle(0, 0, (TextBox.Size.Width - 1), (TextBox.Size.Height - 1))
                graphics.DrawRectangle(New Pen(VisualStyleInformation.TextControlBorder), rect)
                rect.Inflate(-1, -1)
                graphics.DrawRectangle(SystemPens.Window, rect)
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11