【发布时间】:2021-12-29 16:06:12
【问题描述】:
我创建了自己的 MyDataGridViewTextBoxEditingControl 类和 MyDataGridViewTextBoxCell 类。在 MyDataGridViewTextBoxEditingControl 内部,我需要通过属性接收一些信息,但我不知道如何将这些值从 MyDataGridViewTextBoxCell 发送到 MyDataGridViewTextBoxEditingControl,然后将值从 MyDataGridViewTextBoxEditingControl 返回到 MyDataGridViewTextBoxCell。我不知道如何通过属性在这两个类之间交换信息。任何帮助将不胜感激。
public class MyDataGridViewTextBoxCell : DataGridViewTextBoxCell
{
public double ExactValue { get; set; }
public int DecimalPlaces { get; set; }
public Color ErrorForeColor { get; set; }
public override Type EditType => typeof(MyDataGridViewTextBoxEditingControl);
}
public class MyDataGridViewTextBoxEditingControl : DataGridViewTextBoxEditingControl
{
double exactValue = 0;
int decimalPlaces = 3;
Color errorForeColor = Color.Black;
public double ExactValue { get => exactValue; }
public int DecimalPlaces { get => decimalPlaces; set => decimalPlaces = value; }
public Color ErrorForeColor { get => errorForeColor; set => errorForeColor = value; }
protected override void OnKeyDown(KeyEventArgs e)
{
base.OnKeyDown(e);
//My logic goes here
}
}
我知道上面的示例可以通过其他更简单的方式实现,但这只是我需要的一个简单示例。
【问题讨论】:
-
通常,在 EditControlShowing 事件中,您可以设置自己的对象并让它发挥作用。如果您保留对它的引用,您可以稍后访问它的状态..
标签: c# winforms datagridview user-controls datagridviewtextboxcell