Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
11 / 11 / 2
Регистрация: 17.07.2009
Сообщений: 72
1

Перерисовать контрол

20.11.2009, 14:43. Показов 3190. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Интересует такая тема. Хочу поменять цвет бордера для текстбокса (исходно он исключительно черный, если мы устанавливаем flat style). При создании своего контрола, отнаследовавшись от текстбокса, вижу что событие OnPaint не доступно. В некоторых контролах (таких как Panel например) оно есть, а вот в текстбоксе очевидно уровень доступности private. В общем есть ли выход из такой ситуации?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.11.2009, 14:43
Ответы с готовыми решениями:

Как можно изменить слой, на котором находится контрол? Чтобы один контрол всегда рисовался поверх другого?
Просто я создаю контролы динамически, и при появлении они всегда ниже созданных ранее, это...

Перерисовать comboBox
Здравствуйте, подскажите как можно переделать стандартный comboBox? Мне нужно полностью поменять...

Перерисовать фигуру
Всем привет! Подскажите пожалуйста, необходимо создать программу, для работы с геометрическими...

Как перерисовать контур?
рисую на панели контур.Но вне события paint.первая кнопка начало рисования.Потом другой кнопкой...

1
176 / 168 / 27
Регистрация: 12.01.2009
Сообщений: 430
20.11.2009, 15:37 2
Лучший ответ Сообщение было отмечено kvest как решение

Решение

как то так
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace MyTextBox
{
    public class MyTextBox : UserControl
    {
        private TextBox _textBox=new TextBox();
        private System.ComponentModel.IContainer components = null;
 
        public MyTextBox()
        {
            InitializeComponent();
            this._textBox.Location = new Point(1, 1);
            this._textBox.Multiline = true;
            this._textBox.BorderStyle = BorderStyle.None;
            this._textBox.Size = new Size(this.Width - 1, this.Height - 1);
            this.Controls.Add(this._textBox);
        }
 
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }
        private void InitializeComponent()
        {
            components = new System.ComponentModel.Container();
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
        }
 
        protected override void OnPaint(PaintEventArgs e)
        {
            base.OnPaint(e);
            e.Graphics.DrawRectangle(new Pen(Brushes.Gold),new Rectangle(0,0,this.Width-1,this.Height-1));
        }
        protected override void OnResize(EventArgs e)
        {
            base.OnResize(e);
            this._textBox.Size = new Size(this.Width - 2, this.Height - 2);
        }
 
        [TypeConverter("MyTextBox.TextBoxConverter")]
        public TextBox TextBox
        {
            get { return this._textBox; }
            protected set 
            {
                this._textBox = value;
            }
        }
    }
 
    public class TextBoxConverter : TypeConverter
    {
        public override bool GetPropertiesSupported(ITypeDescriptorContext context)
        {
            return true;
        }
        public override PropertyDescriptorCollection GetProperties(ITypeDescriptorContext context, object value, Attribute[] attributes)
        {
            return TypeDescriptor.GetProperties(value);
        }
    }
}
1
20.11.2009, 15:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.11.2009, 15:37
Помогаю со студенческими работами здесь

Как перерисовать форму
есть код своего paint.как сделать так чтобы форма перерисовывалась при повреждении Graphics gr;...

Перерисовать коллекцию линий
Помогите пожалуста, нужно создать колекцию и в нее забивать линии, а потом перерисовать их через...

Как лучше перерисовать PictureBox
Народ, подскажите как в событии Paint перерисовывать содержимое PictureBox, чтобы оно не...

Перерисовать picturebox в соответствии с новыми значениями
Подскажите, пожалуйста, как можно перерисовать picturebox? Мне нужно при нажатии на кнопку, чтобы...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru