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

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

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

Re[4]: 選択されたテキストボックスに出力


(過去ログ 17 を表示中)

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

■6814 / inTopicNo.1)  選択されたテキストボックスに出力
  
□投稿者/ ゆかり (5回)-(2007/08/24(Fri) 10:35:20)

分類:[.NET 全般] 

よろしくお願いします。

開発環境はvisualstudio2005,言語はc#です。

テキストボックスを2つ用意し、ボタンを1つ用意します。
ボタンをクリックすると、数字の1が、カーソルで選択されているほうのテキストボックスに出力するには
どうすればよいのでしょうか?

また、上記に加えて、テキストボックスへの出力の見た目は*にして、実際に中には1が入っているように
(ATM等のパスワード入力のイメージ)するには、Stringの変数を用意して内部で連結して、最後に
キャストするような回りくどいやり方しかないのでしょうか?
引用返信 編集キー/
■6815 / inTopicNo.2)  Re[1]: 選択されたテキストボックスに出力
□投稿者/ Blue (335回)-(2007/08/24(Fri) 10:42:39)
ボタンをクリックした瞬間にテキストボックスからフォーカスが外れてしまいませんか?
つまり「カーソルで選択されているほうのテキストボックス」という状態にならないのでは?


>テキストボックスへの出力の見た目は*にして、実際に中には1が入っているように
TextBoxオブジェクトのプロパティで設定できます。

TextBox.PasswordChar プロパティ
http://msdn2.microsoft.com/ja-jp/library/system.windows.forms.textbox.passwordchar(VS.80).aspx
引用返信 編集キー/
■6817 / inTopicNo.3)  Re[2]: 選択されたテキストボックスに出力
□投稿者/ まきなす (4回)-(2007/08/24(Fri) 11:04:03)
> ボタンをクリックすると、数字の1が、カーソルで選択されているほうのテキストボックスに出力するには
> どうすればよいのでしょうか?
について

最後にフォーカスのあったテキストボックスに表示というのであれば
最後にフォーカスのあったテキストボックスを表すメンバ変数を1つ用意して
たとえば int _focusedTextbox;

テキストボックスにフォーカスがあたったときにこの変数にどちらのテキストボックスかわかる値を入れ
_focusedTextbox = 1; //あるいは2

ボタンをクリックしたときにこの変数を見てどちらに表示するか決めればよろしいかと思います。
if (focusedTextbox == 1) textbox1.Text = "1";
else textbox2.Text = "1";

最初にまだどちらもカーソルで選択されていない状態があるなら既定値を決める必要がありますね。
引用返信 編集キー/
■6820 / inTopicNo.4)  Re[3]: 選択されたテキストボックスに出力
□投稿者/ いしだ (38回)-(2007/08/24(Fri) 12:00:50)
いしだ さんの Web サイト
2007/08/24(Fri) 12:01:21 編集(投稿者)

ダブりました。。。
引用返信 編集キー/
■6826 / inTopicNo.5)  Re[3]: 選択されたテキストボックスに出力
□投稿者/ ゆかり (7回)-(2007/08/24(Fri) 14:01:55)
下記を受けて、以下のようなコーディングをしましたが、デバッグで該当テキストボックスにフォーカスを当てても
通りませんでした。プロパティ値などの設定の問題でしょうか?



private void textBox1_Enter(object sender, System.EventArgs e)
{
_focusedTextbox = 1;
}
private void textBox2_Enter(object sender, System.EventArgs e)
{
_focusedTextbox = 2;
}



No6817 (まきなす さん) に返信
>>ボタンをクリックすると、数字の1が、カーソルで選択されているほうのテキストボックスに出力するには
>>どうすればよいのでしょうか?
> について
>
> 最後にフォーカスのあったテキストボックスに表示というのであれば
> 最後にフォーカスのあったテキストボックスを表すメンバ変数を1つ用意して
> たとえば int _focusedTextbox;
>
> テキストボックスにフォーカスがあたったときにこの変数にどちらのテキストボックスかわかる値を入れ
> _focusedTextbox = 1; //あるいは2
>
> ボタンをクリックしたときにこの変数を見てどちらに表示するか決めればよろしいかと思います。
> if (focusedTextbox == 1) textbox1.Text = "1";
> else textbox2.Text = "1";
>
> 最初にまだどちらもカーソルで選択されていない状態があるなら既定値を決める必要がありますね。
引用返信 編集キー/
■6873 / inTopicNo.6)  Re[4]: 選択されたテキストボックスに出力
□投稿者/ まきなす (6回)-(2007/08/25(Sat) 15:42:23)
同じコードでこちらでは動作します。

イベントハンドラが設定されてないなんてことはないですよね。
this.textBox1.Enter += new System.EventHandler(this.textBox1_Enter);
this.textBox2.Enter += new System.EventHandler(this.textBox2_Enter);

プロパティの設定などは特に必要ないかと思います。

ちなみに禁じ手ですがGotFocusは通るのですか?

引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -