C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

クリックでフォーカス遷移


(過去ログ 7 を表示中)

[トピック内 7 記事 (1 - 7 表示)]  << 0 >>

■7496 / inTopicNo.1)  クリックでフォーカス遷移
  
□投稿者/ とんみ 二等兵(1回)-(2006/10/13(Fri) 20:33:05)

分類:[VB.NET] 


分類:[VB.NET] 

 こんばんは。初めて書き込みさせていただきます。

反応中分析での不揮発分の測定で、電子天秤とPCを接続し(RS-232C)、天秤の計量値を読み取りTextBox1〜9迄表示させたいと思っています。

計量値受信ボタンを押下し(PC側から計量値を要求するコマンドを送り)、TextBoxへ表示します。…例(12.9056g) とこれはうまくいくんですが、

TextBox1にまずフォーカスがあり、ボタン押下⇒TextBox1に計量値表示後、次のTextBox1,2,…9までフォーカスを移したいのですが、こういうことって可能でしょうか?

要するに、ボタンクリック⇒TextBox1に計量値表示後⇒フォーカスがTextBox2に移る⇒ボタンクリック⇒TextBox2に計量値表示後⇒フォーカスがTextBox3に移る。
 …これをTextBox9まで繰り返す、ということです。

TabキーやEnterキーによるフォーカス移動は避けたいと思っています。

ご意見よろしくおねがいします。




0
引用返信 編集キー/
■7497 / inTopicNo.2)  Re[1]: クリックでフォーカス遷移
□投稿者/ ダッチ 伍長(53回)-(2006/10/13(Fri) 21:54:30)

分類:[VB.NET] 

No7496に返信(とんみさんの記事)
>  こんばんは。初めて書き込みさせていただきます。
>
> 反応中分析での不揮発分の測定で、電子天秤とPCを接続し(RS-232C)、天秤の計量値を読み取りTextBox1〜9迄表示させたいと思っています。
>
> 計量値受信ボタンを押下し(PC側から計量値を要求するコマンドを送り)、TextBoxへ表示します。…例(12.9056g) とこれはうまくいくんですが、
>
> TextBox1にまずフォーカスがあり、ボタン押下⇒TextBox1に計量値表示後、次のTextBox1,2,…9までフォーカスを移したいのですが、こういうことって可能でしょうか?
>
> 要するに、ボタンクリック⇒TextBox1に計量値表示後⇒フォーカスがTextBox2に移る⇒ボタンクリック⇒TextBox2に計量値表示後⇒フォーカスがTextBox3に移る。
>  …これをTextBox9まで繰り返す、ということです。
>
> TabキーやEnterキーによるフォーカス移動は避けたいと思っています。
>
> ご意見よろしくおねがいします。
>

こんばんは、ダッチです。

ボタンをクリックした時に今何回まで計量が完了されているか判断して
次の計量を表示というのを繰り返せばいいと思います。

判断する材料として
・TextBox に値が入っているか
・計量完了フラグなどを用意してフラグが立っているか
・計量回数を用意して計量回数に合った TextBox に表示するとか
などいろいろ可能ですね。

質問ないようでわからなかったのが、
TextBox1〜9 に何のためにフォーカスを移動させるのでしょうか?
TextBox1〜9 の内容は手で編集できるのでしょうか?

> 反応中分析での不揮発分の測定で、電子天秤とPCを接続
こんなこともできるのですね。面白そうですね。

0
引用返信 編集キー/
■7502 / inTopicNo.3)  Re[2]: クリックでフォーカス遷移
□投稿者/ とんみ 二等兵(2回)-(2006/10/13(Fri) 23:33:21)

分類:[VB.NET] 

No7497に返信(ダッチさんの記事)

ダッチさんご返信ありがとうございます。
> ・TextBox に値が入っているか

入力チェックはこんな感じです。
Private Sub TextBox1_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles TextBox1.Validating
If ActiveControl.CausesValidation = False Then
Exit Sub
End If
    …途中割愛
 Private Sub TextBox1_Validated(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Validated
If ActiveControl.CausesValidation = False Then
Exit Sub
End If
    …途中割愛

> ・計量完了フラグなどを用意してフラグが立っているか
> ・計量回数を用意して計量回数に合った TextBox に表示するとか
> などいろいろ可能ですね。

 なるほどフラグを使用するのも手ですね。
 
>> 質問ないようでわからなかったのが、
> TextBox1〜9 に何のためにフォーカスを移動させるのでしょうか?

 ここは話せば長いんですが…。
3皿分の測定(3系列)をするためです。
まず、一つ目の計量皿を電子天秤に乗せ計量する。(計量値受信しTextBox1に表示)、次にサンプルを皿に約1.0000g計量(計量値受信しTextBox3に表示)
これと同じ事をもう2皿行い(合計3皿)、その後溶剤にてサンプルを溶解し、
3皿とも、107℃の乾燥機に1時間入れ乾燥させます。
1時間後乾燥後の重量をはかり、残りのTextBox7,8,9へ計量値を受信する。
乾燥後の重量-皿重量÷サンプル量=不揮発分となります。(3皿のデータが揃う)


とこんな感じです。計量値を読み、ノートに手書きをして電卓で計算するこの操作は非常に煩雑で、これがうまくいけば面白いんですが…。

> TextBox1〜9 の内容は手で編集できるのでしょうか?

 数値しか入力というか受信しませんから原則手で編集の必要がありません。


0
引用返信 編集キー/
■7503 / inTopicNo.4)  Re[3]: クリックでフォーカス遷移
□投稿者/ 魔界の仮面弁士 少佐(180回)-(2006/10/13(Fri) 23:44:26)

分類:[VB.NET] 

>>TextBox1〜9 に何のためにフォーカスを移動させるのでしょうか?
>  ここは話せば長いんですが…。
その説明を読んでみたのですが、
 「TextBoxに表示させること」
と、
 「TextBoxにフォーカスを移すこと」
の関連性がわかりませんでした……。


>>TextBox1〜9 の内容は手で編集できるのでしょうか?
>  数値しか入力というか受信しませんから原則手で編集の必要がありません。
であれば、表示先は Label でも十分な気がしますが、TextBox を使ったのには
何か理由があるのでしょうか? (クリップボードへのコピーを行いたいからとか?)

0
引用返信 編集キー/
■7504 / inTopicNo.5)  Re[4]: クリックでフォーカス遷移
□投稿者/ とんみ 二等兵(3回)-(2006/10/14(Sat) 00:17:42)

分類:[VB.NET] 

No7503に返信(魔界の仮面弁士さんの記事)

>手入力が無ければラベルで十分ということですね。

ウーン私の説明不足ですね。どう説明したらいいんだろう。


0
引用返信 編集キー/
■7508 / inTopicNo.6)  Re[5]: クリックでフォーカス遷移
□投稿者/ ダッチ 伍長(54回)-(2006/10/14(Sat) 12:37:18)

分類:[VB.NET] 

> 計量値を読み、ノートに手書きをして電卓で計算する
> この操作は非常に煩雑で、これがうまくいけば面白いんですが…。

手書きの部分で記入誤りが発生したり、
電卓の打ち間違いなどが発生したりしますからね。

それでこの作業をプログラムを使用して自動化したいと思ったのですね。

ちょっと画面サンプルを作ってみました。

画面サンプル--------------------------------------------
     [計測ボタン] [計測ボタン] [計測ボタン]

       一つ目 |  二つ目 |   三つ目
皿   :    11 |    12 |     13
サンプル:    101 |    102 |     103
乾燥後 :    51 |    52 |     53
------------------------------------------------
不揮発分:   50.89 |   51.88 |    52.87
------------------------------------------------ここまで

一つ目・二つ目・三つ目専用の計測ボタンを用意します。
各計測ボタンはボタンを押すごとに
「皿」「サンプル」「乾燥後」の順に値を設定していきます。
※ここはフラグより計量回数を用意してどこまで計測したかを判断します。
乾燥後の計測が完了してところで、不揮発分に自動で値が設定されます。

このような感じであってますでしょうか?


画面をグリッド系のコントロールを使用すれば
三回限定でなくても可変にすることができますが、
扱いが難しいかもしれませんので

Label や TextBox を使用したほうが、早くできるでしょう。


0
引用返信 編集キー/
■7511 / inTopicNo.7)  Re[6]: クリックでフォーカス遷移
□投稿者/ とんみ 二等兵(4回)-(2006/10/14(Sat) 17:38:09)

分類:[VB.NET] 

No7508に返信(ダッチさんの記事)

ダッチさんどうもです。

> ちょっと画面サンプルを作ってみました。
>
> 画面サンプル--------------------------------------------
>      [計測ボタン] [計測ボタン] [計測ボタン]
>
>        一つ目 |  二つ目 |   三つ目
> 皿   :    11 |    12 |     13
> サンプル:    101 |    102 |     103
> 乾燥後 :    51 |    52 |     53
> ------------------------------------------------
> 不揮発分:   50.89 |   51.88 |    52.87
> ------------------------------------------------ここまで
>

> このような感じであってますでしょうか?

 すっすばらしい洞察力ですね!
私のやりたいことはまさにこの事です。

> 一つ目・二つ目・三つ目専用の計測ボタンを用意します。
> 各計測ボタンはボタンを押すごとに
> 「皿」「サンプル」「乾燥後」の順に値を設定していきます。
> ※ここはフラグより計量回数を用意してどこまで計測したかを判断します。
> 乾燥後の計測が完了してところで、不揮発分に自動で値が設定されます。

私の場合、計測ボタンは1つなのですが、3つの場合SerrialPortの設定
(Com1,Com2,等)の設定のからみがあると思いますが…。

もう少し経験を積み、出直してきます。お付き合いくださいましてありがとう
ございます。







0
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -