• 締切済み

C#のcomoboboxのアイテム選択直後にcomboboxウィンドウに表示される文字を変更するには?

お世話になります。 C#で開発をしております。 comboboxでアイテムを選択直後にコンボボックスのテキストウィンドウに表示される文字を変更したいのですが、どのようにすれば変更できるか教えていただけないでしょうか? SelectedIndexChangedイベントや、TextUpdateイベント内で、 Text = "kk"; とすれば、どの項目を選択しても、kkと表示されると思ったのですが、 選択項目が表示されてしまいます。 2日悩んでいます。 宜しくお願い致します。

みんなの回答

回答No.1

まず、WindowアプリかWebアプリか? WindowアプリならTypeはどうなっているか?

aozametane
質問者

お礼

すみません。回答者がいらっしゃったとは、気がつきませんでした。 大分時間が経ってしまい、結局、 タイマーを起動してタイマー内で、元に戻す処理を作りました。 Windowsアプリです。Typeとは、どういう意味でしょうか? C#を始めたばかりで、分からない事だらけで、申し訳ございません。

関連するQ&A

  • コンボボックスのドロップダウンで選択する文字列と選択後の文字列を変更し

    コンボボックスのドロップダウンで選択する文字列と選択後の文字列を変更したいです。 ComboBox1.Items.Add("ID : NAME") Private Sub ComboBox1_Validated(ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles ComboBox1.Validated ComboBox1.Text = "ID" End Sub これでコンボのフォーカスを外せば表示が"ID"になりますが、選択後は"ID : NAME"のままです。 イベント内で別のコントロールにフォーカスを当てようとしても無理でした。 なにか方法はないでしょうか? ownerdrawで複数列を持たせる方法でやりたいことはできるのですが、 この方法はわけあって避けたいと考えています。

  • VB.2010 ComboBox 項目選択

    Builder C++ではかなりのプログラムを作成していますが、拠点でプログラムを変更出来る様にVBでプログラムを作成し直しているVBに関してはほぼ初心者です。 VBでComboBoxを使用して内容を選択させようとして居ます。 プログラムの最初でComboBoxのTextに初期値(前回選択値)を設定して居ます。 ComboBoxで選択された内容はComboBoxの内容が変更された時に次回プログラム実行時の初期表示の為にiniファイルに書き込みをして居ます。 問題はプログラムの最初に初期値を書き込んだ時にもComboBoxの内容が変更される為、内容変更の割り込みが入り、iniファイルの書き込みルーチンが動作してしまう事です。 ComboBoxのTextの書き込の時に割り込みをしなくて、選択をした時のみ割り込みが発生する割り込みがあると良いのですが、調べた範囲では無い様でした。 Builder C++ではMouseUPイベントの割り込みを使って同じ機能を実現させたのですが、VBのMouseUpイベントでは一つ前に選択された内容しか入って来て居ない様です。 MouseUpのイベント割り込み先には以下のコーディングをして居ます。 Private Sub ComboBox1_MouseUp(ByVal sender・・・・・ Label1.Text = ComboBox1->Text End Sub しかし、これだと選択した時は前回選択された内容が表示されてしまいます。 当然 Private Sub ComboBox1_SelectedIndexChanged(ByVal sender ・・・ Label1.Text = ComboBox1->Text End Sub の場合は選択された内容が表示されます。 双方共、実行後のComboBox自体の表示内容は選択されたものになって居ます。 MouseUpのイベントの時にも選択された内容が表示されれば、このイベントでは ComboBox1->Text 初期値を設定した時はイベントが発生しないので都合が良いのですが、一つ前に選択された内容しか表示されません。 MouseUpの時には未だ内部処理が終了していないので新しい内容が表示出来ないのでしょうか。 Builder C++ には Application->ProcessMessages()と言う、他のタスクを先に実行させる関数がありますが、多分VBにもその様な関数があると思いますので、それを挿入すれば最新の状態を入手できるものでしょうか。 上記目的を達成出来る方法はありますでしょうか。 無ければフラグを使用して、ComboBox1->Text に初期値を設定した時には割り込み先でiniファイルの書き込みをしない様にプログラムする予定です。 当然、初期値を表示して居るのですから初期値設定時に再度iniファイルに書き込みがあっても問題は無いのですが、実際には動作していけないプログラムを書きますので、初期値書き込み時には割り込みが無い様にしたいのです。 VBでの処理方法がありましたらお教え下さい。宜しくお願い致します。

  • コンボボックスからテキストボックスへのデータ反映

    コンボボックスにてデータ(文字列+数字)を選択して、同フォーム内にある テキストボックスへ数字だけを表示させるにはどのようにコードを入力すれば良いでしょうか? VS2010を利用しています。 コンボボックスには、●●会社 00000000000 ▲▲会社 1111111111 といったように登録されております。 Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged TextBox1.Text = ComboBox1.Text End Sub 上記のコードですと、文字列+数字がテキストボックスへ反映されてしまいます。 お忙しい中お手数をお掛けしますが、ご教授下さい。

  • comboBoxにて表示される項目のテキスト色を項目毎に変更したい

    comboBoxにて表示される項目のテキスト色を表示される項目毎に変更したいのですが可能でしょうか?項目1つ目は赤色テキスト、2つ目は青色テキストにてなどのようにです。宜しくお願いいたします。

  • コンボボックス内のアイテムを選択してラベルを表示させるには?

    プログラミング初心者です。よろしくお願いします。 開発環境:XP HOME SP3 使用言語:VisualC# 使用ソフト:Visual Studio 2008 Professional コンボボックス内のアイテム選択すると、ラベルが最前面に表示させられるようにするにはどうすればいいでしょうか? コンボボックスはDropDownListにしています。

  • リストボックスのアイテム選択色変更方法

    リストボックスのアイテム選択色変更方法 リストボックスにて、表示アイテムの背景色を設定しました。 が、アイテムを選択すると背景色が分からなくなってしまいます。 と、いう事で、独自のアイテム選択色を作成したいのですが、どうしたら実現できるのでしょうか? 開発手段は、HTML、JavaScript、cssまでとして下さい。 宜しくお願いします。

    • ベストアンサー
    • HTML
  • コンボボックスのイベントについて

    OS  :WindowsXP Pro SP1 開発環境:VisualStudio .NET 2003 開発言語:C# 開発形態:Windowsアプリケーション いつもこの場にお世話になっております。 今回もよろしくお願い致します。 現在、Windowsアプリケーションを作成しており、フォームにはコンボボックスとテキストが貼り付けてあります。コンボボックスは配列になっています。 using System.Windows.Forms; public class Form1 : System.Windows.Forms.Form { 省略   private ComboBox[] cmbArray = new ComboBox[3]; } private void Form_Load(object sender, System.EventArgs e) // フォームロード {   cmbArray[0] = comboBox1;   cmbArray[1] = comboBox2;   cmbArray[2] = comboBox3; } // イベントハンドラの登録 for( int i=0 ; i<3 ; i++) {   cmbArray[i].Validated += new System.EventHandler(ComboBoxClick); } private void ComboBoxClick(object sender, System.EventArgs e) {   MessageBox.Show(((ComboBox)sender).Text); } プログラムは上記のようになっています。 ここで質問なのですが、コンボボックス内のアイテムが変更されたらすぐに発生するイベントは何なのでしょうか?ここではClickイベントを使用していますが、コンボボックス内のアイテムを変更し、そのコンボボックスからカーソルが別のコントロールに移動して初めて発生します。 いろいろとイベントを試したのですが、どれもカーソルが移動する際に発生しているようなのです。 コンボボックス内のアイテムが変更されたらすぐに発生するイベントはあるのでしょうか?どなたかご存知の方がおりましたら、どうかご教授願います。

  • Visual Basicで困っています

    Visual Basic 2010でテキストボックスとコンボボックスを複数設置し コンボボックスの選択の組み合わせによって消すテキストボックスを決めたいと思っています。 初心者で下記のようなコードしか思いつかないのですが、これを簡略化できませんか? 例) コンボボックス1で一番目の項目を選択して、コンボボックス2で一番目の項目を選択した場合は テキストボックス1のテキストを消す コンボボックス1で一番上の項目を選択して、コンボボックス2で二番目の項目を選択した場合は テキストボックス2のテキストを消す みたいな感じです。 コード If ComboBox1.SelectedIndex = 0 And ComboBox2.SelectedIndex = 1 Then TextBox1.Clear() ElseIf ComboBox1.SelectedIndex = 0 And ComboBox2.SelectedIndex = 2 Then TextBox2.Clear() ElseIf ComboBox1.SelectedIndex = 0 And ComboBox2.SelectedIndex = 3 Then TextBox3.Clear()     ElseIf ComboBox1.SelectedIndex = 0 And ComboBox2.SelectedIndex = 4 Then TextBox4.Clear() End If わかりづらい文章で申し訳ないですが、わかる方、回答をお願いします。

  • ComboBoxであらかじめ選択

    いつもお世話になっています。 Excelファイルから年月日を入力し、帳票を出力するマクロを作っています。 月と日はコンボボックスからの選択とさせるため    Private Sub Workbook_Open()     Dim i As Integer    'カウンタ     For i = 1 to 12        Sheet1.ComboBox1.AddItem(i)     Next i    End Sub と記述したのですが、起動時にすでに現在月と現在日が 選択されているようにした方が使い勝手が良いと思いました。 (例:7月25日にExcelを立ち上げるとコンボボックスの値は7月25日) が、NowMonth = Format(Date, "m")で現在月を取得し i=NowMonthの時Selected・・・ができなくて困っています。 どうしたら選択表示された状態になるのでしょうか? ご存知の方、教えてください。

  • コンボボックスにて複数列の値を使う方法

    VB.NET2008にて開発中です。 下記のように、コンボボックスのDataSourceにデータベースから取得した3列のDataTableを設定した場合、3列目の値を取得する方法を教えてください。  ComboBox.DataSource = DataTable  ComboBox.DisplayMember = "1列目"  ComboBox.ValueMember = "2列目"  1列目の取得・・・ComboBox.SelectedValue  2列目の取得・・・ComboBox.Text  3列目の取得・・・ComboBox.??? 表示の必要は無く、コンボボックスで選択したアイテムに関連する値を使いたいだけです。 よろしくお願いします。

専門家に質問してみよう