同步Windows窗体的多个实例?

时间:2016-06-21 14:16:25

标签: c# winforms visual-studio-2010 checkbox

我有一个Windows Forms Application项目,其中一个Windows Form,名为FormCheckFormCheck只有一个CheckBox

此可执行文件在三个设备中复制,因此现在Joe,Mary和Larry都有一个EXE为Windows Form的设备。

如何同步所有3个平板电脑,以便当Joe点击CheckBox时,所有三个设备都会反映选中的CheckBox?再次,如果Mary取消选中CheckBox,则所有三个平板电脑都会在其设备中显示未经检查的CheckBox?我知道我可以使用Timer,但我不想使用它,这就是我在这里问的原因。

对于类似的问题,有人建议使用signalR,但这对于这样一个简单的应用来说太过分了。

感谢。

2 个答案:

答案 0 :(得分:0)

你可能想看一下System.Runtime.Remoting命名空间中的.Net Remoting吗?

答案 1 :(得分:0)

您有多种选择:

选项1:FileSystemWatcher

FileSystemWatcher可以侦听特定的网络位置并检测更改。您可以提供一个可以存储值并更新它的文件。所有应用程序都将收到有关更改的通知。以上MSDN链接中的示例。

FileSystemWatcher watcher = new FileSystemWatcher();
watcher.Path = "yourNetworkPath";
watcher.NotifyFilter = NotifyFilters.LastWrite;
watcher.Filter = "*.txt";
watcher.Changed += new FileSystemEventHandler(OnChanged);

private void OnChanged(object source, FileSystemEventArgs e)
{
    // read file and update checkbox
}

选项2:IPC

使用客户端/服务器和套接字消息。