关于ruchtextbox控件的问题

写驱动的小欧文 2018-01-03 10:17:21
我现在有3个窗体 窗体1 窗体2 窗体3
窗体1显示的数据是窗体2和窗体3的集合
我在窗体1中 按键后同时保存3个窗体的数据
在窗体1中用事件触发 窗体2和窗体3订阅事件 处理事件是保存数据
现在情况是 如果3个窗体在一个方法里show出来 这样的逻辑是能实现的
但是假如我把窗体2关闭 再重新打开 事件也是能正常触发 窗体2里的处理事件的方法也能执行 但是在事件处理函数中 窗体2中的所有控件我都获取不了信息了

请求各路大神帮助 为什么richtextbox明明有内容 但是richtextbox.text的值为空
...全文
157 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
问题找到了 窗体关闭的时候没有取消事件的订阅 当事件触发的时候还是读取之前关闭的那个窗体的richtextbox的值 所以为空
  • 打赏
  • 举报
回复
首先定义事件


然后其中两个窗体订阅该事件


然后这里是窗体的事件处理函数 读取richtextbox的数据

  • 打赏
  • 举报
回复
引用 1 楼 xinbada1985 的回复:
有以下两点要说 1.多窗体之间的操作最好的方法是做委托来执行。 2.你没有取得到窗口值得原因,有可能是你当前取值窗口已经不是原来操作的窗口了, 你是不是又重新实例化了一个窗口2了啊 !
你好 谢谢你 事件触发就是在委托的基础上实现的呢 怎么说不是原来操作的窗口呢 我是重新实例化出来了一个窗口2 但是我也让新数据在这个新窗口上显示出来了 在窗口里点击按键可以获取richtextbox的值 但是在事件处理函数里就不行
xinbada1985 2018-01-04
  • 打赏
  • 举报
回复
最好贴出代码看一下
xinbada1985 2018-01-04
  • 打赏
  • 举报
回复
有以下两点要说 1.多窗体之间的操作最好的方法是做委托来执行。 2.你没有取得到窗口值得原因,有可能是你当前取值窗口已经不是原来操作的窗口了, 你是不是又重新实例化了一个窗口2了啊 !

110,502

社区成员

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

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

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