Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
nickson95
0 / 0 / 0
Регистрация: 05.02.2012
Сообщений: 13
1

Можно ли сделать у TextBox-а закругленные края

05.02.2012, 18:10. Просмотров 3025. Ответов 12
Метки нет (Все метки)

Изломал весь мозг, и вот теперь решил спросить: возможно ли в VB.NET 2010 изменить внешний вид текстбокса. То есть: сделать поле другого цвета и сделать закругленные края. Если это возможно - напишите плиз как это сделать.

Заранее спасибо!
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.02.2012, 18:10
Ответы с готовыми решениями:

Как сделать закругленные края у формы?
собствено, помогите по сабжу.... как ни пытался не смог :(

Как сделать закругленные края формы в стиле Windows Aero?
Есть следующее: 1. Форма (Form1) 2. Картинка (PictureBox1) Картинка использует функцию...

Закругленные края формы
ставлю картинку на форму, TransparencyKey = Me.BackColor формат картинки png. По краям белые...

Как сделать закругленные края у формы
как сделать закругленные края

Как сделать объектам на форме закругленные края и свернуть VBA - форму?
Требуется сделать обьектам на форме края закругленные и сделать форме возможность сворачивания в...

12
Памирыч
Почетный модератор
21098 / 8826 / 1080
Регистрация: 11.04.2010
Сообщений: 11,012
05.02.2012, 20:00 2
nickson95, только пожалуй что писать свой элемент управления на основе стандартного
0
nickson95
0 / 0 / 0
Регистрация: 05.02.2012
Сообщений: 13
11.02.2012, 15:35  [ТС] 3
Цитата Сообщение от Памирыч Посмотреть сообщение
nickson95, только пожалуй что писать свой элемент управления на основе стандартного
т.е. как я понимаю через наследование Control'a?
0
Памирыч
Почетный модератор
21098 / 8826 / 1080
Регистрация: 11.04.2010
Сообщений: 11,012
12.02.2012, 10:28 4
Цитата Сообщение от nickson95 Посмотреть сообщение
через наследование Control'a
Полагаю что да. Написать текстбокс с "нуля", что-то мне кажется задача не такая уж и простая
0
12.02.2012, 10:28
mr.vlasoff2011
11 / 11 / 0
Регистрация: 11.11.2010
Сообщений: 37
14.02.2012, 10:02 5
nickson95,
Цитата Сообщение от nickson95 Посмотреть сообщение
закругленные края
vb.net
1
2
3
4
5
6
7
8
9
10
11
12
13
Imports System.Drawing.Drawing2D
Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim gpath As New GraphicsPath
        Dim Граф As Graphics = TextBox1.CreateGraphics()
        Dim наш_текстбокс As Rectangle = TextBox1.ClientRectangle
        наш_текстбокс.Inflate(-3, -3)  ' уменьшаем, чтобы края не обрезались,можно наоборот                          
        gpath.AddEllipse(наш_текстбокс)                                                      
        TextBox1.Region = New Region(gpath)
        Граф.Dispose()
        TextBox1.Text = "Она уехала" & vbCrLf & "А слёзы всё бегут"
    End Sub
End Class
Свойство Текстбокса Text.Align - "Center"
И с кнопками также.
2
Памирыч
Почетный модератор
21098 / 8826 / 1080
Регистрация: 11.04.2010
Сообщений: 11,012
14.02.2012, 11:26 6
Цитата Сообщение от mr.vlasoff2011 Посмотреть сообщение
vb.net
1
Dim Граф As Graphics = TextBox1.CreateGraphics()
Это вроде не нужно.

Отлично.
0
mr.vlasoff2011
11 / 11 / 0
Регистрация: 11.11.2010
Сообщений: 37
14.02.2012, 12:23 7
Цитата Сообщение от Памирыч Посмотреть сообщение
Это вроде не нужно.
точно, не нужно. Ну и
vb.net
1
 Граф.Dispose()
соответственно тоже
0
nickson95
0 / 0 / 0
Регистрация: 05.02.2012
Сообщений: 13
07.05.2012, 11:48  [ТС] 8
нет, ребят, я имею ввиду чтобы например в основе поля был прямоугольник с закругленными краями, и не перекрывающий ЭУ а чтобы рисовался в OnPaint() при добавлении TextBox'a на форму.
0
Памирыч
Почетный модератор
21098 / 8826 / 1080
Регистрация: 11.04.2010
Сообщений: 11,012
07.05.2012, 12:23 9
nickson95, придется писать свой компонент, возможно, придется немного работать с графикой
0
nickson95
0 / 0 / 0
Регистрация: 05.02.2012
Сообщений: 13
07.05.2012, 12:30  [ТС] 10
Цитата Сообщение от Памирыч Посмотреть сообщение
nickson95, придется писать свой компонент, возможно, придется немного работать с графикой
я пробовал. но когда в OnPaint() написал код простого овала залитого серым цветом ничего не произошло: как был текстбокс текстбоксом, так и остался. Хотя я в классе нового ЭУ прописал, что наследуется элемент от текстбокса.
0
Памирыч
Почетный модератор
21098 / 8826 / 1080
Регистрация: 11.04.2010
Сообщений: 11,012
07.05.2012, 13:18 11
Вот накидал китайского кода, в папке Релиз библиотека.
Нужно добавить ее на панель инструментов, а потом закинуть на форму как обычный контролл

Я не ставил целью написать работающий компонент, я просто сделал для примера (аж голова загудела от этого бреда)
1
Вложения
Тип файла: rar TextBox круглый.rar (25.7 Кб, 79 просмотров)
nickson95
0 / 0 / 0
Регистрация: 05.02.2012
Сообщений: 13
07.05.2012, 13:44  [ТС] 12
все. я нашел решение (правда не самое оптимальное).
1) нарисовал в фотошопе дизайн TextBox'a
2) в vb.net добавил рисунок в компилируемые ресурсы
3) добавил на форму PictureBox
4) написал кое-чего:
vb.net
1
2
3
PictureBox1.BackColor = Color.Transparent
PictureBox1.Image = My.Resources.<имя изображения>
PictureBox1.SizeMode = SizeMode.AutoSize
5) наложил на PictureBox текстовое поле и снова кое-что исправил:
vb.net
1
2
TextBox1.BorderStyle = BorderStyle.None
TextBox1.BackColor = <цвет фона на изображении>
6) растянул текстовое поле по размеру рамки изображения
7) подобрал цвет и размер шрифта
Всё
0
Памирыч
Почетный модератор
21098 / 8826 / 1080
Регистрация: 11.04.2010
Сообщений: 11,012
07.05.2012, 13:55 13
nickson95, ну вот, потянет на первый раз.
Только такой текстбокс уже не растянешь (ширину не сменишь)
0
07.05.2012, 13:55
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.05.2012, 13:55

Прозрачные, закругленные края формы
Собственно сабж. Т.е. делаем закругленные края формы и прозрачность примерно 0.5

как реализовать внешние закругленные края
Имеем вкладки, которые будут переключаться через JS. Вопрос в том, как реализовать внешние...

Как сделать закругленные углы
&lt;div id=&quot;fullPicBloc&quot; class=&quot;callbackSlideShow&quot;&gt; &lt;ul class=&quot;slides&quot;&gt; &lt;li...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru