質問編集履歴
3
ソースコード
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         
            File without changes
         
     | 
2
ソースコード
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -10,4 +10,57 @@ 
     | 
|
| 
       10 
10 
     | 
    
         | 
| 
       11 
11 
     | 
    
         
             
            データの送信と、テキストボックスの文字を判定してチェックボックスをチェックさせるやり方はできます。
         
     | 
| 
       12 
12 
     | 
    
         
             
            データが豆電球に送られたら自動でcheckBoxをチェックさせるという風にしたいです。
         
     | 
| 
       13 
     | 
    
         
            -
            よろしくお願いいたします。
         
     | 
| 
      
 13 
     | 
    
         
            +
            よろしくお願いいたします。
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
             private void richTextBox2_KeyDown(object sender, KeyEventArgs e)
         
     | 
| 
      
 17 
     | 
    
         
            +
                    {
         
     | 
| 
      
 18 
     | 
    
         
            +
                        if (e.KeyCode == Keys.Enter)
         
     | 
| 
      
 19 
     | 
    
         
            +
                        {
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
                            //! シリアルポートをオープンしていない場合、処理を行わない
         
     | 
| 
      
 22 
     | 
    
         
            +
                            if (serialPort1.IsOpen == false)
         
     | 
| 
      
 23 
     | 
    
         
            +
                            {
         
     | 
| 
      
 24 
     | 
    
         
            +
                                return;
         
     | 
| 
      
 25 
     | 
    
         
            +
                            }
         
     | 
| 
      
 26 
     | 
    
         
            +
                            //! テキストボックスから、送信するテキストを取り出す
         
     | 
| 
      
 27 
     | 
    
         
            +
                            String data = richTextBox2.Text;
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
                            //! 送信するテキストがない場合、データ送信は行わない
         
     | 
| 
      
 30 
     | 
    
         
            +
                            if (string.IsNullOrEmpty(data) == true)
         
     | 
| 
      
 31 
     | 
    
         
            +
                            {
         
     | 
| 
      
 32 
     | 
    
         
            +
                                return;
         
     | 
| 
      
 33 
     | 
    
         
            +
                            }
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
                            try
         
     | 
| 
      
 36 
     | 
    
         
            +
                            {
         
     | 
| 
      
 37 
     | 
    
         
            +
                                //! シリアルポートからテキストを送信する.
         
     | 
| 
      
 38 
     | 
    
         
            +
                                serialPort1.Write(data +"\n");
         
     | 
| 
      
 39 
     | 
    
         
            +
             
     | 
| 
      
 40 
     | 
    
         
            +
                                //入力された16進数文字列を数値に変換
         
     | 
| 
      
 41 
     | 
    
         
            +
                                int value = Convert.ToInt32(data, 16);
         
     | 
| 
      
 42 
     | 
    
         
            +
             
     | 
| 
      
 43 
     | 
    
         
            +
             
     | 
| 
      
 44 
     | 
    
         
            +
                                for (int i = 1; i <= 16; i++)
         
     | 
| 
      
 45 
     | 
    
         
            +
                                {
         
     | 
| 
      
 46 
     | 
    
         
            +
                                    //画面上の処理対象チェックボックスコントロールを特定
         
     | 
| 
      
 47 
     | 
    
         
            +
                                    Control[] cs = this.Controls.Find("CheckBox" + i.ToString(), true);
         
     | 
| 
      
 48 
     | 
    
         
            +
                                    //チェック対象ビットに1が立っていればチェックオン、0ならチェックオフ
         
     | 
| 
      
 49 
     | 
    
         
            +
                                    ((CheckBox)cs[0]).Checked = ((value & (1 << (i - 1))) > 0);
         
     | 
| 
      
 50 
     | 
    
         
            +
                                }
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
      
 52 
     | 
    
         
            +
             
     | 
| 
      
 53 
     | 
    
         
            +
                                //! 送信データを入力するテキストボックスをクリアする.
         
     | 
| 
      
 54 
     | 
    
         
            +
                                richTextBox2.Clear();
         
     | 
| 
      
 55 
     | 
    
         
            +
                            }
         
     | 
| 
      
 56 
     | 
    
         
            +
                            catch (Exception ex)
         
     | 
| 
      
 57 
     | 
    
         
            +
                            {
         
     | 
| 
      
 58 
     | 
    
         
            +
                                MessageBox.Show(ex.Message);
         
     | 
| 
      
 59 
     | 
    
         
            +
                            }
         
     | 
| 
      
 60 
     | 
    
         
            +
                            }
         
     | 
| 
      
 61 
     | 
    
         
            +
                        }
         
     | 
| 
      
 62 
     | 
    
         
            +
             
     | 
| 
      
 63 
     | 
    
         
            +
            デバックして16進数の文字"ffff"と入力して送信すると、
         
     | 
| 
      
 64 
     | 
    
         
            +
            豆電球16個はつくのですけど、
         
     | 
| 
      
 65 
     | 
    
         
            +
            認識できる数値が見つかりませんでした
         
     | 
| 
      
 66 
     | 
    
         
            +
            と表示されてしまいます。対処法をご教授ください。
         
     | 
1
チェックボックスのチェックの詳しいやり方
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -1,10 +1,13 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            初心者です。ご質問です。
         
     | 
| 
       2 
2 
     | 
    
         
             
            ビジュアルスタジオ2015でC#を使っています。Windows Formsです。
         
     | 
| 
       3 
3 
     | 
    
         
             
            シリアル通信でパソコンからデータを送って豆電球を光らすということをやっているのですが、
         
     | 
| 
      
 4 
     | 
    
         
            +
            テキストボックスに"a1"と入力して送信したときに
         
     | 
| 
       4 
     | 
    
         
            -
            豆電球1 
     | 
| 
      
 5 
     | 
    
         
            +
            豆電球1を光らせてcheckBox1を自動チェックする、
         
     | 
| 
      
 6 
     | 
    
         
            +
            テキストボックスに"b1"と入力して送信したときに
         
     | 
| 
       5 
     | 
    
         
            -
            豆電球2にデータを送って 
     | 
| 
      
 7 
     | 
    
         
            +
            豆電球2にデータを送ってcheckBox2を自動でチェックさせたいのですが、
         
     | 
| 
       6 
8 
     | 
    
         | 
| 
       7 
9 
     | 
    
         
             
            どなたかご教授お願いいたします。
         
     | 
| 
       8 
10 
     | 
    
         | 
| 
      
 11 
     | 
    
         
            +
            データの送信と、テキストボックスの文字を判定してチェックボックスをチェックさせるやり方はできます。
         
     | 
| 
       9 
12 
     | 
    
         
             
            データが豆電球に送られたら自動でcheckBoxをチェックさせるという風にしたいです。
         
     | 
| 
       10 
13 
     | 
    
         
             
            よろしくお願いいたします。
         
     |