winForm设计,可不可以通过外部类动态修改控件的属性??

hai1989su 2010-11-09 05:15:57
一个C#的winForm设计问题,一个窗体(Form1.cs)里面有一个DataGridView控件(dataGridview1),我想通过一个外部类(Class1.cs)不用新建一个Form1对象的情况下,动态地修改Form1.cs里面的dataGridView1的各种属性,例如更改dataGirdView1中第3行第4列显示的值
可不可以实现这种功能??具体的代码应该怎么写???
...全文
214 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
夜雨悠扬 2010-11-09
  • 打赏
  • 举报
回复
更改Datagrid的定义变成共有的就可以了。
或者是将实例传给class1,
或者定义一个方法,在Class1中调用。
或者用Assambly,
方法太多了。
skyering 2010-11-09
  • 打赏
  • 举报
回复
将该控件通过外部类的构造函数传递进去。想怎么修改都可以。

通过委托的方式也是可以的。
yilaozhuang 2010-11-09
  • 打赏
  • 举报
回复
这个应该不难做吧,以前试过的
happy_h 2010-11-09
  • 打赏
  • 举报
回复
用委托和事件处理,Form1中定义委托,外面触发事件去执行调用委托修改dataGridview1控件的各种属性值
xshf12345 2010-11-09
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 dobzhansky 的回复:]

Data Binding 后的 DGV, 你直接改数据不就得了么?

废这个劲, 都不知道你为啥有这样的需求,

控件公共访问, 失败的很.
[/Quote]
控件公共访问, 失败的很.===》不一定哦,有些设计模式就要求这样的
Dobzhansky 2010-11-09
  • 打赏
  • 举报
回复
Data Binding 后的 DGV, 你直接改数据不就得了么?

废这个劲, 都不知道你为啥有这样的需求,

控件公共访问, 失败的很.
xshf12345 2010-11-09
  • 打赏
  • 举报
回复
有一种情况是这样的,你通过其他的.cs文件去实例化这个Form,而不是在Form1.cs里面实例化的,这样就可以。比如你定义一个属性

public DataGridView GrvTest
{
get{return this.dataGridview1;}
}


然后在另一个CS文件中实例化这个窗体,



private Form1 form=new Form1();
//通过属性去操作dataGridview1
lonyjianhui 2010-11-09
  • 打赏
  • 举报
回复
可以啊,把要修改的东西传到新建类的方法中就可以了(注意ref 和 out的用法)
wanghui0380 2010-11-09
  • 打赏
  • 举报
回复
可以,把控件申明为public,或者开放一个委托给外部
龍月 2010-11-09
  • 打赏
  • 举报
回复
不懂。。详细说下。。 此消息通过 【CSDN论坛 Winform测试版】 回复! 龙月.NET的博客

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧