- - PR -
TextBox のVisibleプロパティを False に設定するとプログラムから書き込みも参照も出来なくなる。
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-11-22 12:32
・・・。
皆さんの書き込みにより、Visible = False でも Text プロパティに対して、値の取得・設定が可能であるという事は明らかです。この点は OK でしょうか? であれば、 「単価TextBox.Visible = False に設定した際に、なんらかの要因で 単価TextBox.Text に値が入らず、その結果 CInt に失敗してエラーが発生している」 という考え方にならないのは何故でしょうか? 理由を教えてください。 | ||||
|
投稿日時: 2007-11-22 12:37
J.J.さん、ありがとうございます。
私はてっきり「VisibleプロパティをFalseに設定したTexBoxから値が取得できない」 と考えていましたが、「VisibleプロパティをFalseにテーブルからバインドされた 単価TextBoxに単価金額が設定されていないのでは・・」とのご指摘でしょうか。 確かにデザイナでVisibleプロパティをFalseに設定し、デバックしていますので もともと単価金額がバインドされていないことも考察してみます。 上記したとおりデザイナでVisibleプロパティをFalseに設定するとエラーになり プログラムを止めてから、再度デザイナでVisibleプロパティをTrueに設定して デバッグすると正常に動作しています。 どうも私のテストに何か問題があるのかもしてません。 少しテスト内容を再検討します。 | ||||
|
投稿日時: 2007-11-22 12:56
J.J.さん、まるくさん、ありがとうございます。
早速、ご指摘の通り、もともと単価TextBoxに値が設定されていないことを以下の通り 確認しました。 確認→デバッグ後、何もしないでButton1(イベントにMessageBox.Show(単価TextBox.Text)) を押すと、[OK」ボタンのみで何も表示されない。(""空白) 大変お騒がせしましたが、今度はなぜ、単価TextBox.Visible = False に設定すると 単価が入らないのかの新たな疑問が発生しますが、この件に関してはもう少し テストをして、問題が明確になった時点で再度スレッドを立てたいと考えています。 ありがとうございました。 6行目修正・・ご→後 [ メッセージ編集済み 編集者: だんじり 編集日時 2007-11-22 16:46 ] | ||||
|
投稿日時: 2007-11-22 13:04
今までのスレが関係あるかはわかりませんが
Visible=Falseではフォーカス遷移の対象外となるため、Enterイベントの処理が走らない といったようなことではないかと勝手に予想。 | ||||
|
投稿日時: 2007-11-22 13:26
まどかさん、ありがとうございます。
入力する日数TextBoxはVisible=Trueで、日数TextBoxからフォーカスを喪失する時に 別のTextBoxはVisible=Falseにしてある単価TextBoxの値を取得しようとしています。 ただし、もともと単価TextBoxになぜか値が設定されていないことに問題としています。 以上、内容の説明まで | ||||
|
投稿日時: 2007-11-22 13:46
失礼しました。 それ以外思い浮かばなかったので、'そういう意味ですか' という問い合わせをしてしまいました。 完全に誤解したわけではないですが、もう少し私も聞き方に気をつけなければならないですね。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2007-11-22 13:46
何度も書いていますが、ミニマム コードを書きましょう。 私が提示しているコードを見れば、バインド・非表示・フォーカス喪失だけの単純な問題ではないということが明らかになります。 明らかになるということはそれだけ考えうる原因が減ったということです。 この一手が問題解決への前進になるということをよく理解した上で、どんな切り分け作業をすべきかを考えてみると良いと思います。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2007-11-22 14:35
こんにちは。
内容が混乱してるようなので全部読んでいませんが、確かVisibleプロパティがFalseのコントロールはBindしないのは仕様だと思いますが、その辺は確認されていますでしょうか。 |