C# 从其他窗体访问数据控件
我有两个表单,表单A和表单B,从A访问表单B,我在表单A的构造函数中传递表单B,这样我就可以访问gridview 有人建议我在公共属性中公开我的gridview,并将其传递给我希望从中访问它的其他表单 这是我对向我提出的建议的理解:C# 从其他窗体访问数据控件,c#,winforms,C#,Winforms,我有两个表单,表单A和表单B,从A访问表单B,我在表单A的构造函数中传递表单B,这样我就可以访问gridview 有人建议我在公共属性中公开我的gridview,并将其传递给我希望从中访问它的其他表单 这是我对向我提出的建议的理解: public RadGridView Grid { get { return GridViewDisplay; } } 然后我将此属性传递给我的第二个表单: Form1 f1 = new form1(); Form2 f2 = new form2(f1.G
public RadGridView Grid
{
get { return GridViewDisplay; }
}
然后我将此属性传递给我的第二个表单:
Form1 f1 = new form1();
Form2 f2 = new form2(f1.Grid);
这是我的问题:
public void DockAllWindows()
{
SideBar sb = new SideBar();
Summary sm = new Summary();
SalesPoint sp = new SalesPoint(sb, sm); // This is where my issue is, Point A
StartPage start = new StartPage();
radDock.DockControl(sp, (DockPosition.Fill), DockType.Document);
radDock.DockControl(start, (DockPosition.Fill), DockType.Document);
radDock.DockControl(sm, (DockPosition.Right), DockType.ToolWindow);
}
在点A处,我将摘要表单的对象实例传递给SalePoint表单。
因此,我无法执行以下代码,因为它会生成错误:
Summary sm = new Summary(sp.Grid); // Error right here
SalesPoint sp = new SalesPoint(sb, sm);
我需要一些帮助来避免上述错误。创建SalesPoint类后,需要设置Summary.Grid属性
Summary sm = new Summary();
SalesPoint sp = new SalesPoint(sb, sm);
sm.Grid = sp.Grid.
为了清楚起见,SalesPoint类需要一个公共网格属性,Summary类需要一个公共网格属性。并使您在Summary类的属性上实现该集,以便您知道其他人何时更改它
public RadGridView Grid
{
get { return grid; }
set
{
if (grid != value)
{
grid = value;
// Add any special processing that summary needs to do to pull data from the SalesPoint Grid property.
}
}
}
看看你的总结课。您可以在构造函数中传递什么对象?我们无法从这里看到它。非常感谢,我不知道为什么我被否决了,但你显然理解我的问题,它看起来很有希望,我会试试看它是否有效。谢谢你,它按照我希望的方式工作,你帮了我大忙,非常感谢。)