永发信息网

c#如何在第二个窗口改变第一个窗口里控件的属性

答案:2  悬赏:30  手机版
解决时间 2021-03-02 21:45
  • 提问者网友:沉默的哀伤
  • 2021-03-01 21:45
我想做的一个餐饮系统,主页面有很多张桌子(就是图片控件),我想在开单的那个窗口里点击开单按钮时,主页面的(图片控件) 换一张图片
可是无论自己怎么做,系统不报错,就是看不到效果,好像它没读到我的代码!
是怎么回事? 麻烦好心的大虾帮忙一下 。 谢谢!
最佳答案
  • 五星知识达人网友:等灯
  • 2021-03-01 22:28
这里我不清楚你需要达到什么效果,我就对我想到的两个效果都做下解答吧。
情况一:如果是点开单后,开单的窗体关闭的同时,主页面进行更改。如果是这种情况,可以针对开单的按钮进行设置,设置DialogResult为某个值,比如OK,或者Yes,在用户点开单后,开单窗体关闭的同时会返回这个值,依据这个值进行操作。
情况二:用户点开单后,开单窗体不关闭,同时更新主界面的内容。如果是这种情况,在打开开单窗体的时候,把主界面需要修改的部分,用一个属性传入开单的窗体。点击开单按钮后,对属性进行操作,如果主界面没有相应的改变,则把刷新的相关方法也公开出来,用开单的窗体强制调用。
全部回答
  • 1楼网友:独行浪子会拥风
  • 2021-03-01 23:06
这要看你是怎么设计你的软件,软件功能的实现有无数种方式。 1,如果你是wpf程序,可以直接将f1的label的字体和颜色的属性binding到f2里2个combobox的value上。 2,如果是winform程序,你没有表明你这2个窗体有没有从属关系。 a,如果是f2启动f1,即先设置颜色再启动一个窗体,可以在f2里写 f1 f1 = new f1(); f1.owner= this; //将f1的父窗体设为f2,这里的this是f2 f1.show(); 然后在f1的窗体里就可以这样找到f2 f2 f = (f2)this.owner; //这里的this是f1,(owner)父窗体,就是f2 这样f就是你的运行的f2窗体实例。f.combox.text就是你要得到的字体或颜色。 b,如果是f1启动f2,即先启动窗体再设置颜色,可以直接拿你实例化f2的名称 f2.combox.text c,如果完全没有从属关系,即这2个窗体都是别的窗体启动的,这也有不同的方法,估计你目前不是这样,我就不敲那么多了,如果你确实是这样的,而且需要,再联系我。 c#论坛有很多,csdn上有c#专区,各种c#之家,国外的比如codeproject等。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯