有个问题搞的我很别扭

于娜 2006-12-01 08:14:54
有个问题搞的我很别扭。在弹出的对话窗体中有一个ListBox控件,当回到主窗体时候,我想从主窗体中访问对话窗体中的ListBox,怎么做?如果把ListBox设置成public 或者 internal ,微软不推荐这么做。怎么办?

我是这样解决,我另外写了一个公有属性,通过它来访问私有的ListBox,不知道合理不合理??

private ListBox UserList


public ListBox UList
{
get
{
return this.UserList;
}
set
{
this.UserList = value;
}
}
...全文
215 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tenner 2006-12-01
  • 打赏
  • 举报
回复
写一个public方法,只实现你想要的功能
flyforlove 2006-12-01
  • 打赏
  • 举报
回复
一般情况下因为ListBox是窗体的一个子控件,所以它不希望,在别的窗体对它有很高的访问权。
这是oop的封装性所至。
如果你开放了ListBox,那么等于把ListBox的所有功能都暴露了,
按照最小程度的按需索求,也就是说你只需要LIstBox里的数据的话,就另外写一个方法,只开放数据,其他的就不要开放了。
大飞飞虫 2006-12-01
  • 打赏
  • 举报
回复
用全局参数传呗~~~~
其实微软也不建议,你的应用有需求,他只是不建议而已,又不是不能
flyforlove 2006-12-01
  • 打赏
  • 举报
回复
还有一种方式就是使用委托,
你不就是想在子窗口返回后,把数据给主窗体么,那就在主窗体里写一个委托方法,委托给子窗体,子窗体执行退出的时候,执行一下委托方法就可以了。

110,499

社区成员

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

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

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