- PR -

TextBox のVisibleプロパティを False に設定するとプログラムから書き込みも参照も出来なくなる。

投稿者投稿内容
まるく
大ベテラン
会議室デビュー日: 2004/01/09
投稿数: 181
投稿日時: 2007-11-22 12:32
・・・。

皆さんの書き込みにより、Visible = False でも Text プロパティに対して、値の取得・設定が可能であるという事は明らかです。この点は OK でしょうか?

であれば、
「単価TextBox.Visible = False に設定した際に、なんらかの要因で 単価TextBox.Text に値が入らず、その結果 CInt に失敗してエラーが発生している」
という考え方にならないのは何故でしょうか?
理由を教えてください。
だんじり
大ベテラン
会議室デビュー日: 2007/08/10
投稿数: 155
お住まい・勤務地: 神奈川県
投稿日時: 2007-11-22 12:37
J.J.さん、ありがとうございます。
私はてっきり「VisibleプロパティをFalseに設定したTexBoxから値が取得できない」
と考えていましたが、「VisibleプロパティをFalseにテーブルからバインドされた
単価TextBoxに単価金額が設定されていないのでは・・」とのご指摘でしょうか。
確かにデザイナでVisibleプロパティをFalseに設定し、デバックしていますので
もともと単価金額がバインドされていないことも考察してみます。

上記したとおりデザイナでVisibleプロパティをFalseに設定するとエラーになり
プログラムを止めてから、再度デザイナでVisibleプロパティをTrueに設定して
デバッグすると正常に動作しています。

どうも私のテストに何か問題があるのかもしてません。
少しテスト内容を再検討します。
だんじり
大ベテラン
会議室デビュー日: 2007/08/10
投稿数: 155
お住まい・勤務地: 神奈川県
投稿日時: 2007-11-22 12:56
J.J.さん、まるくさん、ありがとうございます。
早速、ご指摘の通り、もともと単価TextBoxに値が設定されていないことを以下の通り
確認しました。
確認→デバッグ後、何もしないでButton1(イベントにMessageBox.Show(単価TextBox.Text))
を押すと、[OK」ボタンのみで何も表示されない。(""空白)

大変お騒がせしましたが、今度はなぜ、単価TextBox.Visible = False に設定すると
単価が入らないのかの新たな疑問が発生しますが、この件に関してはもう少し
テストをして、問題が明確になった時点で再度スレッドを立てたいと考えています。
ありがとうございました。


6行目修正・・ご→後

[ メッセージ編集済み 編集者: だんじり 編集日時 2007-11-22 16:46 ]
まどか
ぬし
会議室デビュー日: 2005/09/06
投稿数: 372
お住まい・勤務地: ますのすし管区
投稿日時: 2007-11-22 13:04
今までのスレが関係あるかはわかりませんが
Visible=Falseではフォーカス遷移の対象外となるため、Enterイベントの処理が走らない
といったようなことではないかと勝手に予想。
だんじり
大ベテラン
会議室デビュー日: 2007/08/10
投稿数: 155
お住まい・勤務地: 神奈川県
投稿日時: 2007-11-22 13:26
まどかさん、ありがとうございます。
入力する日数TextBoxはVisible=Trueで、日数TextBoxからフォーカスを喪失する時に
別のTextBoxはVisible=Falseにしてある単価TextBoxの値を取得しようとしています。
ただし、もともと単価TextBoxになぜか値が設定されていないことに問題としています。
以上、内容の説明まで
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-11-22 13:46
引用:

だんじりさんの書き込み (2007-11-22 12:25) より:

書き方が悪く誤解されたようですが、再度以下の通り説明します。


失礼しました。 それ以外思い浮かばなかったので、'そういう意味ですか' という問い合わせをしてしまいました。 完全に誤解したわけではないですが、もう少し私も聞き方に気をつけなければならないですね。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-11-22 13:46
引用:

だんじりさんの書き込み (2007-11-22 13:26) より:

入力する日数TextBoxはVisible=Trueで、日数TextBoxからフォーカスを喪失する時に別のTextBoxはVisible=Falseにしてある単価TextBoxの値を取得しようとしています。ただし、もともと単価TextBoxになぜか値が設定されていないことに問題としています。以上、内容の説明まで


何度も書いていますが、ミニマム コードを書きましょう。 私が提示しているコードを見れば、バインド・非表示・フォーカス喪失だけの単純な問題ではないということが明らかになります。 明らかになるということはそれだけ考えうる原因が減ったということです。 この一手が問題解決への前進になるということをよく理解した上で、どんな切り分け作業をすべきかを考えてみると良いと思います。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
ふみお
会議室デビュー日: 2007/11/07
投稿数: 5
投稿日時: 2007-11-22 14:35
こんにちは。
内容が混乱してるようなので全部読んでいませんが、確かVisibleプロパティがFalseのコントロールはBindしないのは仕様だと思いますが、その辺は確認されていますでしょうか。

スキルアップ/キャリアアップ(JOB@IT)