アプリ版:「スタンプのみでお礼する」機能のリリースについて

使用言語はVB.NETです。

フォームAのテキストボックスAに文字を入力し確定すると、
フォームBが起動、フォームBのテキストボックスには、
テキストボックスAで入力した内容が表示されており、それを
変更することはできない。
ただし、テキストボックスAに何も入力せずに起動した場合、
テキストボックスBの内容は書き換え可能、というようなものを
作りたいと思っています。

また、テキストボックスBを入力不可にするには、Enabled=False
以外の方法で行いたいのです。
例えば、テキストボックスAで1と入れた場合、テキストボックスBの
初期表示1をBSで消しても、違う値をいれても、常に1に表示が戻される、
というようなものにしたいのですが…。

上記のようなものを作るには、どのように処理を作っていけば
良いのでしょうか?
サンプル的なコードを教えていただけるとありがたいです。
よろしくお願いします。

A 回答 (2件)

こんにちは。



テキストボックスを入力不可にする方法として、Enabled=False以外ではReadOnlyプロパティをTrueにする方法があります。

フォームAのテキストボックスAのValidatedイベントに

Form2.TextBox1.Text = Me.TextBox1.Text
If Me.TextBox1.Text = "" Then
Form2.TextBox1.ReadOnly = True
Form2.TextBox1.BackColor = Color.White
Else
Form2.TextBox1.ReadOnly = False
End If
Form2.Show()

と入れます。

どうでしょうか。
    • good
    • 0
この回答へのお礼

お礼が遅くなりまして申し訳ありません。
まさに理想通り、こういう状態で入力を受け付けないように
したかったのでした。
ありがとうございました。

お礼日時:2006/07/06 14:47

逆に質問したいのですが、フォームA 上で何が起こったときにフォームB が起動するのですか読めません。


質問文の中では
1) テキストボックスA に入力した文字が確定したとき
2) 何も入力せずに
の 2パターンでフォームB が起動するような説明をなさっています。

「入力した文字が確定したとき」というのは具体的にユーザーが何をした時をイメージしていますか?

「何も入力しない」ってケースでは何をトリガーにしてフォームB を起動させるのですか?


それ以外の部分は、フォームA のプロシージャから
Dim formB As New フォームB
として フォームB のインスタンスを作っておいて、
条件に応じて
formB.テキストボックスB.Text = xxxx
formB.テキストボックスB.ReadOnly = True
などを設定し、
最後に
formB.Show
または
formB.ShowDialog(Me)
でフォームB のインスタンスを表示すれば良いかと。
    • good
    • 0
この回答へのお礼

テキストボックスの入力制御の方法だけ
シンプルに聞けばよかったですね。
条件分岐で悩んでいるわけではありません。

お礼日時:2006/07/06 14:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!