protected void Cmd(string cmdStr) { if (MainControl.InvokeRequired) { MainControl.Invoke(new MethodInvoker(() => Cmd(cmdStr))); } else // メインスレッドから呼び出された場合(コントロールへの描画) { if (cmdStr.IndexOf("Refresh") == 0) { //メインコントロールのクリア Clear(); //データ取得のため表示待機 //ステータスバーへのテキスト表示 SetStatusText(""); MainControl.BackColor = SystemColors.ButtonFace; MainControl.Update(); Text = "情報取得中です。しばらくお待ちください。"; } if (Kernel.RunMode == RunMode.Remote) { //(ToolDlg用)データ要求(C->S) RemoteData.Send(sockTcp, RemoteDataKind.CmdTool, string.Format("{0}-{1}", NameTag, cmdStr)); } else { if (Server != null) { var buffer = Server.Cmd(cmdStr);//リモート操作(データ取得) CmdRecv(cmdStr, buffer); } else { CmdRecv(cmdStr, ""); } } } }