質問編集履歴

3

ソースコード

2016/07/26 04:21

投稿

ncncup
ncncup

スコア13

test CHANGED
File without changes
test CHANGED
File without changes

2

ソースコード

2016/07/26 04:21

投稿

ncncup
ncncup

スコア13

test CHANGED
File without changes
test CHANGED
@@ -23,3 +23,109 @@
23
23
  データが豆電球に送られたら自動でcheckBoxをチェックさせるという風にしたいです。
24
24
 
25
25
  よろしくお願いいたします。
26
+
27
+
28
+
29
+
30
+
31
+ private void richTextBox2_KeyDown(object sender, KeyEventArgs e)
32
+
33
+ {
34
+
35
+ if (e.KeyCode == Keys.Enter)
36
+
37
+ {
38
+
39
+
40
+
41
+ //! シリアルポートをオープンしていない場合、処理を行わない
42
+
43
+ if (serialPort1.IsOpen == false)
44
+
45
+ {
46
+
47
+ return;
48
+
49
+ }
50
+
51
+ //! テキストボックスから、送信するテキストを取り出す
52
+
53
+ String data = richTextBox2.Text;
54
+
55
+
56
+
57
+ //! 送信するテキストがない場合、データ送信は行わない
58
+
59
+ if (string.IsNullOrEmpty(data) == true)
60
+
61
+ {
62
+
63
+ return;
64
+
65
+ }
66
+
67
+
68
+
69
+ try
70
+
71
+ {
72
+
73
+ //! シリアルポートからテキストを送信する.
74
+
75
+ serialPort1.Write(data +"\n");
76
+
77
+
78
+
79
+ //入力された16進数文字列を数値に変換
80
+
81
+ int value = Convert.ToInt32(data, 16);
82
+
83
+
84
+
85
+
86
+
87
+ for (int i = 1; i <= 16; i++)
88
+
89
+ {
90
+
91
+ //画面上の処理対象チェックボックスコントロールを特定
92
+
93
+ Control[] cs = this.Controls.Find("CheckBox" + i.ToString(), true);
94
+
95
+ //チェック対象ビットに1が立っていればチェックオン、0ならチェックオフ
96
+
97
+ ((CheckBox)cs[0]).Checked = ((value & (1 << (i - 1))) > 0);
98
+
99
+ }
100
+
101
+
102
+
103
+
104
+
105
+ //! 送信データを入力するテキストボックスをクリアする.
106
+
107
+ richTextBox2.Clear();
108
+
109
+ }
110
+
111
+ catch (Exception ex)
112
+
113
+ {
114
+
115
+ MessageBox.Show(ex.Message);
116
+
117
+ }
118
+
119
+ }
120
+
121
+ }
122
+
123
+
124
+
125
+ デバックして16進数の文字"ffff"と入力して送信すると、
126
+
127
+ 豆電球16個はつくのですけど、
128
+
129
+ 認識できる数値が見つかりませんでした
130
+
131
+ と表示されてしまいます。対処法をご教授ください。

1

チェックボックスのチェックの詳しいやり方

2016/07/26 04:20

投稿

ncncup
ncncup

スコア13

test CHANGED
File without changes
test CHANGED
@@ -4,9 +4,13 @@
4
4
 
5
5
  シリアル通信でパソコンからデータを送って豆電球を光らすということをやっているのですが、
6
6
 
7
- 豆電球1データをって光らせ時はcheckBox1を自動チェックする、
7
+ テキストボックス"a1"と入力して信しときに
8
8
 
9
+ 豆電球1を光らせてcheckBox1を自動チェックする、
10
+
11
+ テキストボックスに"b1"と入力して送信したときに
12
+
9
- 豆電球2にデータを送って光らせた時はcheckBox2を自動でチェックさせたいのですが、
13
+ 豆電球2にデータを送ってcheckBox2を自動でチェックさせたいのですが、
10
14
 
11
15
 
12
16
 
@@ -14,6 +18,8 @@
14
18
 
15
19
 
16
20
 
21
+ データの送信と、テキストボックスの文字を判定してチェックボックスをチェックさせるやり方はできます。
22
+
17
23
  データが豆電球に送られたら自動でcheckBoxをチェックさせるという風にしたいです。
18
24
 
19
25
  よろしくお願いいたします。