我有一个Windows窗体,DataGridView和两个按钮 当我按下button1时,它会将RowHeadersVisible的值更改为true 当我按下button2时,它会将RowHeadersVisible的值更改为false。
public Form1()
{
InitializeComponent();
dataGridView1.RowHeadersVisible = false;
}
private void button1_Click(object sender, EventArgs e)
{
dataGridView1.RowHeadersVisible = true;
}
private void button2_Click(object sender, EventArgs e)
{
dataGridView1.RowHeadersVisible = false;
}
我在“DataGridView”类中找不到任何关于“RowHeadersVisible”值更改的事件。正如我所提到的“CellFormatting”事件适用于此操作,但它经常出现,几乎适用于datagridview1中的所有操作。
我想我们可能会创建一个自定义事件处理程序,以便做出不同的决定
当“RowHeadersVisible”将值更改为false时,我需要调用“CustomEvent”中的另一个函数。
private void CustomEvent(object sender, EventArgs e)
{
SomeFunction();
}
另一方面,“DataGridTableStyle”类具有事件“RowHeadersVisibleChanged”。
那么如何解决这个问题呢?
答案 0 :(得分:0)
.NET 4.5,你应该得到帮助。 以下列方式解散它。
表示运行时 System.Windows.Forms.DataGrid 控件绘制的表。
// Instantiate the EventHandler.
public void AttachRowHeaderVisibleChanged()
{
myDataGridTableStyle.RowHeadersVisibleChanged += new EventHandler (MyDelegateRowHeadersVisibleChanged);
}
// raise the event when RowHeadersVisible property is changed.
private void MyDelegateRowHeadersVisibleChanged(object sender, EventArgs e)
{
string myString = "'RowHeadersVisibleChanged' event raised, Row Headers are";
if (myDataGridTableStyle.RowHeadersVisible)
myString += " visible";
else
myString += " not visible";
MessageBox.Show(myString, "RowHeader information");
}
// raise the event when a button is clicked.
private void myButton_Click(object sender, System.EventArgs e)
{
if (myDataGridTableStyle.RowHeadersVisible)
myDataGridTableStyle.RowHeadersVisible = false;
else
myDataGridTableStyle.RowHeadersVisible = true;
}