質問編集履歴

2 改善

xlostdjx

xlostdjx score 31

2018/06/01 15:03  投稿

ComboBoxの値をコード上で設定をする方法
C#
このようにコード書いてみたのですが動きません。
 ```
コード
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace W
{
   public partial class Form1 : Form
   {
         public class ItemSet  
       {  
           // DisplayMemberとValueMemberにはプロパティで指定する仕組み  
           public String ItemDisp { get; set; }  
           public int ItemValue { get; set; }  
 
           // プロパティをコンストラクタでセット  
           public ItemSet(int v, String s)  
           {  
               ItemDisp = s;  
               ItemValue = v;  
           }  
       }  
 
       public Form1()
       {
           InitializeComponent();
 
           // ComboBox用データ作成 //ListでOK //IList インターフェイスまたは  
           //IListSource インターフェイスを実装する、DataSet または Array などのオブジェクト。  
 
           List<ItemSet> src = new List<ItemSet>();  
           src.Add(new ItemSet(1, "Number1"));/// 1つでItem1つ分となる  
           src.Add(new ItemSet(2, "Number2"));  
           src.Add(new ItemSet(3, "Number3"));  
 
           // ComboBoxに表示と値をセット  
           comboBox1.DataSource = src;  
           comboBox1.DisplayMember = "ItemDisp";  
           comboBox1.ValueMember = "ItemValue";  
 
           // 初期値セット  
           comboBox1.SelectedIndex = 0;  
           comboBox1_SelectedIndexChanged(null, null);  
       }
       private void Form1_Load(object sender, EventArgs e)
       private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
       {
           // labelに現在コンボ選択の内容を表示  
           ItemSet tmp = ((ItemSet)comboBox1.SelectedItem);//表示名はキャストして取りだす  
           labelDisplay.Text = tmp.ItemDisp;  
           labelValue.Text = comboBox1.SelectedValue.ToString();//値はそのまま取りだせる  
       }
   }  
 
   class Sample  
   {  
       [STAThread]  
       public static void Main()  
       {  
           Application.Run(new MainForm());  
       }  
   }  
 
   class MainForm : Form  
   {  
       private ComboBox comboBox = new ComboBox();//コンボボックス  
       private Label lb = new Label();           //ラベル  
       private Button bt = new Button();         //ボタン  
 
       public MainForm()  
       {  
           //値の設定  
           comboBox.Items.Add("晴れ");  
           comboBox.Items.Add("曇り");  
           comboBox.Items.Add("雨");  
 
           lb.Text = "";  
           lb.AutoSize = true;  
           lb.Top = comboBox.Bottom;  
 
           bt.Text = "値を取得";  
           bt.AutoSize = true;  
           bt.Top = lb.Bottom;  
 
           this.Controls.Add(comboBox);  
           this.Controls.Add(lb);  
           this.Controls.Add(bt);  
 
           bt.Click += new EventHandler(bt_Click);  
       }  
       public void bt_Click(Object sender, EventArgs e)  
       {  
           lb.Text = "";  
           //値を取得  
           lb.Text += comboBox.SelectedItem.ToString();  
       }  
   }  
 
}  
```
  • C#

    10161 questions

    C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

1 編集

xlostdjx

xlostdjx score 31

2018/06/01 14:00  投稿

ComboBoxの値をコード上で設定をする方法
```C#
C#
このようにコード書いてみたのですが動きません。
 
 ```
コード
```  
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace W
{
   public partial class Form1 : Form
   {
       public Form1()
       {
           InitializeComponent();
       }
       private void Form1_Load(object sender, EventArgs e)
       {
       }
   }
   class Sample
   {
       [STAThread]
       public static void Main()
       {
           Application.Run(new MainForm());
       }
   }
   class MainForm : Form
   {
       private ComboBox comboBox = new ComboBox();//コンボボックス
       private Label lb = new Label();           //ラベル
       private Button bt = new Button();         //ボタン
       public MainForm()
       {
           //値の設定
           comboBox.Items.Add("晴れ");
           comboBox.Items.Add("曇り");
           comboBox.Items.Add("雨");
           lb.Text = "";
           lb.AutoSize = true;
           lb.Top = comboBox.Bottom;
           bt.Text = "値を取得";
           bt.AutoSize = true;
           bt.Top = lb.Bottom;
           this.Controls.Add(comboBox);
           this.Controls.Add(lb);
           this.Controls.Add(bt);
           bt.Click += new EventHandler(bt_Click);
       }
       public void bt_Click(Object sender, EventArgs e)
       {
           lb.Text = "";
           //値を取得
           lb.Text += comboBox.SelectedItem.ToString();
       }
   }
}
}
```
  • C#

    10161 questions

    C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る