2012-06-22 5 views
0
private TextBox txtBoxDragPoint = new TextBox(); 

private void rtbLogicCode_MouseDown(object sender, MouseEventArgs e) 
{ 
    if (dragInfo.Item2 == true) 
    { 
     //MessageBox.Show("Works"); 
     Point p = new Point(e.X, e.Y); 

     txtBoxDragPoint.Name = dragInfo.Item1; 
     txtBoxDragPoint.Text = dragInfo.Item1; 
     txtBoxDragPoint.Location = p; 
     txtBoxDragPoint.Size = new Size(100, 21); 
     txtBoxDragPoint.Show(); 
    } 
} 

У меня есть текстовое поле, которое должно отображаться, когда пользователь нажимает на RichTextBox. Событие и логическое условие прекрасны, так как оно отображает сообщение, однако оно не отображает текстовое поле. Есть ли что-то еще, что я должен сделать?C# Текстовое поле не отображается

Edit: Как упоминалось в ответах, я сделал следующее дополнение, но текстовое поле все еще не показывает:

 txtBoxDragPoint.Name = dragInfo.Item1; 
     txtBoxDragPoint.Text = dragInfo.Item1; 
     txtBoxDragPoint.Location = p; 
     txtBoxDragPoint.Size = new Size(100, 21); 
     this.Controls.Add(txtBoxDragPoint); 
     txtBoxDragPoint.Show(); 

Я не знаю, если эта информация является любая соответствующая но RTB добавляется как управление tabcontrol, которое tabcontrol добавляется как элемент управления формы.

+0

Вы пытаетесь добавить текстовое поле в RTB, или форму? – Blorgbeard

+0

Я не думаю, что вы можете добавить элементы управления в RTB – Blorgbeard

ответ

2

Вы должны добавить текстовое поле в форме

this.Controls.Add(txtBoxDragPoint); 
txtBoxDragPoint .BringToFront(); 
+0

Пробовал, но не работает – l46kok

+0

добавьте эту строку в него. txtBoxDragPoint .BringToFront(); –

+0

Ничего себе, что был виновником ха-ха, это было не спереди! благодаря – l46kok

4

Вместо txtBoxDragPoint.Show() вы должны добавить, что текстовое поле в form

this.Controls.Add(txtBoxDragPoint); 
+0

попробовал, но не работает – l46kok

+0

@SokwhanHuh, он должен что-то сделать с позицией, которую вы передаете, просто прокомментируйте строку 'txtBoxDragPoint.Location = p;' и вы сможете увидеть его в левом верхнем углу формы, плюс вам не нужно 'txtBoxDragPoint.Show();' – Habib

Смежные вопросы