日期:2014-05-17  浏览次数:20830 次

控件刷新问题
c# 中WinForm窗体中,多个客户端同时安装了同一个软件,当LabeL里面填充的颜色由红色变为绿色时,其他客户端也同时跟着改变,同理button等控件改变时,其他客户端也跟着改变,怎么实现?
------最佳解决方案--------------------
引用:
打个比方,我设有一个timer控件,每隔一段时间自动从数据库中捞取一次数据,显示在datagridciview中,我可不可以用这个方法实现控件刷新?
我看有人用VB的方法实现了,就是这边控件变色了,另一台电脑上该软件上的同一个控件也同时变色。
有没有方法啊??各位大神!!!求救啊!


你所说的方法是可行的,通过读取同一个数据库里的表,就可以实现,上面人所说的通讯你现在水平来说比效难。

最简单的方法就是
利用Timer控件 隔一段时间读取 表A Color字段,就行了




Timer timer=new Timer()
timer.Tick+=new EventHandler(timer_Tick);
timer.Invatel=1000;//隔多长时间读一次库
private void timer_Tick(object sender,EventArgs e)
{
  DataTable table=DBHelper.ExecuteDataTable("Select Color1 From 表1");
  if(table.Rows.Count>0)
  {
    Color color=Color.FromRGB(table.Rows[0]["Color1"]);
    if(你想换的控件.BackColor!=color)
    {
       你想换的控件.BackColor=color;
    }
  }
}

------其他解决方案--------------------
不同电脑上的客户端?那可以弄一个server.exe来通知他们变色,或者客户端之间相互通信。
------其他解决方案--------------------
多个客户端,在多个电脑上吗?这要用到一些传输服务协议吧。。。。跟帖学习
------其他解决方案--------------------
有固定函数没有 ?
------其他解决方案--------------------
打个比方,我设有一个timer控件,每隔一段时间自动从数据库中捞取一次数据,显示在datagridciview中,我可不可以用这个方法实现控件刷新?
我看有人用VB的方法实现了,就是这边控件变色了,另一台电脑上该软件上的同一个控件也同时变色。
有没有方法啊??各位大神!!!求救啊!
------其他解决方案--------------------
一般来说上csdn来找代码的人是设计不了这类程序的。

如果你在设计这类程序,请提出更加明确具体的问题,表明你涉及到了哪一个层次。简单地抛出一个需求,别人是不会给你无偿写代码的。(至少要给几千块钱喝汽水费吧)
------其他解决方案--------------------
我可以告诉你,这是简单得通讯。一个机器可以给另外一个通讯(就像QQ一样),消息根本不需要“落地”。

这种这直截了当的c/s或者p2p(同一个进程既有s也有c职责)通讯,不需要考虑数据库表的增删改查。
------其他解决方案--------------------
补上面

你想换的控件.BackColor=Color.xxx;
 同时将Color.xxx值更新到 表1 Color1字段即可
------其他解决方案--------------------
这个样子你是用
SendmessA 消息函数
加入所有控件句柄+++提供消息值
将其发送自身的颜色值
this.BackColor
提供自第四参数.

窗口的句柄不用我说了吧。。。自己枚举就行

------其他解决方案--------------------
怎么有这样的需求? 最多是根据用户来设置, 比如管理员改变了其他的才都改变。 你的任意一个客户端改变了,都去改变, 要是有1万客户端。。。。
------其他解决方案--------------------
引用:
引用:打个比方,我设有一个timer控件,每隔一段时间自动从数据库中捞取一次数据,显示在datagridciview中,我可不可以用这个方法实现控件刷新?
我看有人用VB的方法实现了,就是这边控件变色了,另一台电脑上该软件上的同一个控件也同时变色。
有没有方法啊??各位大神!!!求救啊!

你所说的方法是可行的,通过读取同一个数……


嗯,我要的实现的功能就很简单,只要各个客户端控件能简单的实现同步就可以。这种方法可行!谢了!
------其他解决方案--------------------
引用:
一般来说上csdn来找代码的人是设计不了这类程序的。

如果你在设计这类程序,请提出更加明确具体的问题,表明你涉及到了哪一个层次。简单地抛出一个需求,别人是不会给你无偿写代码的。(至少要给几千块钱喝汽水费吧)


我知道知识很重要,但我不想因为一个小的问题而花费巨大,毕竟我刚出来,也没那么多的钱。只能求助论坛里各位好心的大神们。谢谢你们在百忙之中抽空帮我解答一些问题!