Ejemplo n.º 1
0
        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, "");
                    }
                }
            }
        }