我有以下函数响应DataGridView中的ColumnHeaderMouseDoubleClick事件:
void grid_ColumnHeaderMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e) {
TextBox t = new TextBox();
//make the new textbox the same size as the header to cover it up until text is entered
t.Width = ((DataGridView)sender).CurrentCell.ContentBounds.Width;
t.Height = ((DataGridView)sender).CurrentCell.ContentBounds.Height;
t.Dock = DockStyle.Fill;
t.Visible = true;
t.BringToFront();
t.Text = "TEST";
Controls.Add(t);
}
所有这些代码都发生在扩展Panel的类中,并且将一个DataGridView添加到面板的控件中。当我双击标题并在此处理程序上放置断点时,将调用该处理程序,但我在任何地方都看不到该文本框。有人知道我做错了吗?
答案 0 :(得分:0)
我首先将文本框设为一个类字段(在事件触发器之外声明它,以便它在结束时不会超出范围)。可能还要设置textBox的坐标:)。在这台机器上没有VS试试这个,但我希望这会有所帮助。