Создайте элемент управления и установите его рядом с другим элементом управления.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Создайте элемент управления и установите его рядом с другим элементом управления.

Сообщение Anonymous »

Вот требование: поместите кнопку в сторону текстового поля. Так что кнопка будет расположена справа от текстового поля.
Поначалу я думаю, что это легко, потому что я могу использовать UserControl, некоторое перетаскивание может помочь. Но проблема в том, что текстовое поле, которое я использую, наследуется от TextBox (пусть вызывается в ComplexTextBox), и оно имеет много сложной логики и предоставляет множество свойств. Если я продолжу использовать UserControl, мне придется самому раскрыть свойства или сделать текстовое поле внутри UserControl общедоступным, чего я хочу избежать, потому что это выглядит очень глупо.
Поэтому я унаследовал ComplexTextBox, в конструкторе делаю примерно так:

Код: Выделить всё

public ComplexTextboxWithButtonAside()
{
InitializeComponent();
m_btnOpenCharDialog = new KstaButton();
m_specialCharDialogForm = new ComplexTextboxWithButtonAside(this.components);
m_specialCharDialogForm.CharacterConfirmedContainer += OnCharacterConfirmedContainer;

m_btnOpenCharDialog.Parent = this;
this.Controls.Add(m_btnOpenCharDialog);

// m_btnOpenCharDialog
// This is the button I want it to be next to the textbox
this.m_btnOpenCharDialog.Image = global::Ksta.Presentation.Properties.Resources.IconLEA;
this.m_btnOpenCharDialog.Name = "m_btnOpenCharDialog";
this.m_btnOpenCharDialog.ReadOnlyMode = false;
this.m_btnOpenCharDialog.Location = new System.Drawing.Point(this.Size.Width, 0);
this.m_btnOpenCharDialog.Size = new System.Drawing.Size(20, 20);
this.m_btnOpenCharDialog.TabIndex = 0;
this.m_btnOpenCharDialog.Text = "";
this.m_btnOpenCharDialog.UseVisualStyleBackColor = true;
this.m_btnOpenCharDialog.BringToFront();
this.m_btnOpenCharDialog.Click += OnOpenButtonClick;
}
Выглядит нормально, а?? Я создаю кнопку и устанавливаю ее местоположение в конце текстового поля. Но когда я запускаю приложение, кнопка пропадает! Когда я изменю эту часть:

Код: Выделить всё

this.m_btnOpenCharDialog.Location = new System.Drawing.Point(this.Size.Width - 50, 0);
тогда я вижу кнопку. Кажется, что текстовое поле имеет какую-то границу или что-то еще, закрывающее кнопку.
Как в этом случае показать кнопку вне текстового поля. Я ищу 1 день подряд, но безуспешно. Пожалуйста, помогите!
Огромное спасибо! Пожалуйста, спросите меня, если вы обнаружите, что что-то не так.

Подробнее здесь: https://stackoverflow.com/questions/787 ... er-control
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»