如题:在datagridview上如何通过编程添加button按钮?
当某一单元格为焦点时,button才呈现出来,请问如何实现?VS2003可以这样做:
private Button colButton;colButton = new Button();
colButton.Text = "...";
colButton.Font = new Font("Arial",7);
colButton.BackColor = System.Drawing.Color.AliceBlue;colButton.Click += new EventHandler(ColumnButtonClicked);
//程式代號
dgcolTxtMG002.TextBox.Enter += new EventHandler(TextBox_Enter);
dgcolTxtMG002.TextBox.Leave += new EventHandler(TextBox_Leave);private void TextBox_Enter(object Sender, System.EventArgs e)
{
if (!dgProgram.ReadOnly)
{
colButton.Width = 20;
colButton.Height = 20;
DataGridTextBox dgTextBox = (DataGridTextBox)Sender;
if (!dgTextBox.Controls.Contains(colButton))
dgTextBox.Controls.Add(colButton);
colButton.Location = new System.Drawing.Point( (dgTextBox.Width-23), 0);
colButton.BringToFront();
}
} private void TextBox_Leave(object sender, System.EventArgs e)
{
DataGridTextBox dgTextBox = (DataGridTextBox)sender; if (isExistColButton)
{
dgTextBox.Controls.Remove(colButton);
isExistColButton = false;
}
if (dgTextBox.Text != originalText)
{
//GetProgramInfoToGrid(dgTextBox.Text);
}
}
当某一单元格为焦点时,button才呈现出来,请问如何实现?VS2003可以这样做:
private Button colButton;colButton = new Button();
colButton.Text = "...";
colButton.Font = new Font("Arial",7);
colButton.BackColor = System.Drawing.Color.AliceBlue;colButton.Click += new EventHandler(ColumnButtonClicked);
//程式代號
dgcolTxtMG002.TextBox.Enter += new EventHandler(TextBox_Enter);
dgcolTxtMG002.TextBox.Leave += new EventHandler(TextBox_Leave);private void TextBox_Enter(object Sender, System.EventArgs e)
{
if (!dgProgram.ReadOnly)
{
colButton.Width = 20;
colButton.Height = 20;
DataGridTextBox dgTextBox = (DataGridTextBox)Sender;
if (!dgTextBox.Controls.Contains(colButton))
dgTextBox.Controls.Add(colButton);
colButton.Location = new System.Drawing.Point( (dgTextBox.Width-23), 0);
colButton.BringToFront();
}
} private void TextBox_Leave(object sender, System.EventArgs e)
{
DataGridTextBox dgTextBox = (DataGridTextBox)sender; if (isExistColButton)
{
dgTextBox.Controls.Remove(colButton);
isExistColButton = false;
}
if (dgTextBox.Text != originalText)
{
//GetProgramInfoToGrid(dgTextBox.Text);
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货