コンボボックスの削除の仕方

このQ&Aのポイント
  • コンボボックスのリストの削除方法を知りたいです
  • コンボボックスのリストを削除するコードを書いたけど動作しない
  • コンボボックスのリストを削除する方法を教えてください
回答を見る
  • ベストアンサー

コンボボックスの削除の仕方

コンボボックスのリストの削除はどうしたらよいでしょうか。 private: System::Void comboBox1_SelectedIndexChanged(System::Object^ sender, System::EventArgs^ e) { index = comboBox1->SelectedIndex; cout << "index=" << index << "\n"; } private: System::Void button2_Click_1(System::Object^ sender, System::EventArgs^ e) { //comboBoxからデータ削除 comboBox1->Items->RemoveAt(index); このようなコードを書いてみましたがうまくいいきません。

質問者が選んだベストアンサー

  • ベストアンサー
  • keibou21
  • ベストアンサー率31% (18/58)
回答No.1

私の環境では削除できました。 button2_Click_1()が本当に呼ばれているかブレークポイントを仕掛けてみてください

関連するQ&A

  • ComboBoxについて

    ComboBoxのアイテムリストからアイテムを選んだら 選んだアイテムに対応した別の文字列 をComboboxに表示したいと思います。 動き的には Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load  ComboBox1.Text = ""  ComboBox1.Items.Add("000")  ComboBox1.Items.Add("001")  ComboBox2.Text = ""  ComboBox2.Items.Add("0個目")  ComboBox2.Items.Add("1個目")  ComboBox2.Visible = False End Sub Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged  Select Case ComboBox1.SelectedIndex   Case 0    ComboBox1.Visible = False    ComboBox2.Visible = True    ComboBox2.SelectedIndex = 0   Case 1    ComboBox1.Visible = False    ComboBox2.Visible = True    ComboBox2.SelectedIndex = 1  End Select End Sub Private Sub ComboBox2_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox2.GotFocus  ComboBox1.Visible = True  ComboBox1.DroppedDown = True  ComboBox2.Visible = False End Sub こんな感じで、ComboBoxを二つ使えば実現できるのですが一つだけでも実現できる方法が ありましたら、教えてくださいませ。

  • 別のフォームの値を初期値として設定するには?

    別のフォームの値を初期値として設定するには どうしたらよいでしょうか? private: System::Void Form2_Load(System::Object^ sender, System::EventArgs^ e) { this->comboBox1->Items = Form1.comboBox1.Items; }

  • コンボボックスでデフォルト値の設定

    コンボボックスのデフォルト値を設定しようとして 以下のコードを書いたのですが、コンパイルがとおり ません。どうしたらよいでしょうか? private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) { //費目初期値 array<System::String^>^himokudata = { "通信費","光熱費","住居費" }; for (int i=0; i < himokudata->Length; i++) { comboBox1->Items->Add(himokudata[i]); } comboBox1->Text = comboBox1->Items->default; <---ここが通らない。textに表示されるデフォルト 値として通信費を入れたいのだが }

  • コンボボックスのイベントについて

    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イベントを使用していますが、コンボボックス内のアイテムを変更し、そのコンボボックスからカーソルが別のコントロールに移動して初めて発生します。 いろいろとイベントを試したのですが、どれもカーソルが移動する際に発生しているようなのです。 コンボボックス内のアイテムが変更されたらすぐに発生するイベントはあるのでしょうか?どなたかご存知の方がおりましたら、どうかご教授願います。

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

    コンボボックスにてデータ(文字列+数字)を選択して、同フォーム内にある テキストボックスへ数字だけを表示させるにはどのようにコードを入力すれば良いでしょうか? 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 上記のコードですと、文字列+数字がテキストボックスへ反映されてしまいます。 お忙しい中お手数をお掛けしますが、ご教授下さい。

  • コンボボックスのインデックス値取得について

    Visual Stdio 2008 Express Editionを使ってVBの勉強をしています。 コンボボックスのことについてお伺いしたいことがあり、 投稿させていただきました。 Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load With ComboBox1 .Items.Add("りんご") .Items.Add("みかん") .Items.Add("なし") End With End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click MsgBox("コンボボックスで選択した項目のインデックス") End Sub End Class コンボボックスで「みかん」を選択し、 ボタンを押下したときに、「みかん」のインデックス値として 「1」を出力させたいのですが、この表示方法がわからない状態です。 VB6.0であれば、ItemDataプロパティを使えばうまくいくと 思うのですが、VisualStudioだとどのプロパティを用意すれば よろしいのでしょうか。 ご教授の程お願い致します。

  • ArrayListの要素削除について

    ArrayListに格納した配列の内容をListViewに表示させているのですが ListViewで複数行選択してその行を削除しようとすると実際に選択して いない行が削除されてしまい、選択した行が削除できません。 また選択を間をあけて選択するとArgumentOutOfRangeExceptionに 引っかかり削除処理が出来ないのですが、どのようにすれば削除が 出来るのでしょうか? 環境はC#(2.0) VS2005です。 以下にソースコードを掲載いたします。 private void Form1_Load(object sender, EventArgs e) { // ListViewにアイテムを追加する for (int no = 0; no < subject.Length; no++) { Mail mail = new Mail(subject[no], address[no]); collectionMail.Add(mail); } // ListViewにcollectionMailの内容を表示 UpdateList(); } private void buttonDelete_Click(object sender, EventArgs e) { foreach (int sel_index in listView1.SelectedIndices) { MessageBox.Show("select no:" + (sel_index + 1), "debug", MessageBoxButtons.OK, MessageBoxIcon.Information); collectionMail.RemoveAt(sel_index); } // ListViewにcollectionMailの内容を表示 UpdateList(); }

  • C#:comboBox1等の部分を関数の引数にしたい

    最近Windowsプログラミングを始めたものです。 Microsoft Visual C# 2008 Express Edition を使っています。 関数において、 string tmp = this.comboBox1.Text; や、 string tmp = this.textBox1.Text; などのように、コントロールのName部分だけを変更したいのですが、こういう事はできるのでしょうか。 現在は以下のように書いています。 (Tabの代わりに全角スペースを使っています。) private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)  {   string tmp = this.comboBox1.Text + "\n";   exfunc(tmp);  } private void exfunc(string str) {  ... }

  • イベントハンドラ関数について

    現在VC++/CLR 2005 でプログラミングをしています。 基本的な事柄かもしれませんが、質問させてください  以下の2つのボタンのイベントハンドラ関数があった場合 //ボタン1のイベントハンドラ関数 private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) String^ str = textBox1->Text } //ボタン2のイベントハンドラ関数 private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) { } ボタン2をクリックしたときの動作とボタン1の動作を同じにしたいと思っています。 その場合は private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) String^ str = textBox1->Text } //ボタン2のイベントハンドラ関数 private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) { String^ str = textBox1->Text } のようにボタン2のイベントハンドラ関数をボタン1と同じように書けばいいのですが イベントハンドラ関数の処理が膨大になった場合を考えて省略する 書き方は無いのでしょうか?(以下の場合ですとエラーが起こってしまいます。) private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) { button1_Click(); } 宜しくお願いします

  • フォーム間の値の渡し方

    こんにちわ。 C#で以下のようなことを実現しようとしています。 フォームA ・コンボボックスを選択⇒SelectedIndex値を変数Pへ ・フォームBを開く フォームB ・変数Pを読み込み処理 1.ここで、フォームAでSelectedIndexの値は変数Pに入っているのですが、 その値をフォームBで呼び出す方法がわかりません。 以下のコードでは、「System.Windows.Forms.FormにPの定義がありません」となってしまいます。 2.変数Pはpublicで宣言しているのですが、 それだけで全てのフォームから呼び出せる変数となるわけではないのでしょうか? ちなみに以下のようなコードにしてあります。 *********フォームA********* public int P; private void btn1_click(object sender, System.EventArgs e) { P = comboBox.SelectedIndex; F_B f1 = new F_B(); f1.ShowDialog(); } *********フォームB********* private void F_B_Load(object sender, System.EventArgs e) { switch (Owner.P) { case 0: ・・・・ case 1: ・・・・ } } どなたかアドバイスをお願いいたします。

専門家に質問してみよう