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 comboBox1_SelectedIndexChanged(object sender, EventArgs e) { // labelに現在コンボ選択の内容を表示 ItemSet tmp = ((ItemSet)comboBox1.SelectedItem);//表示名はキャストして取りだす labelDisplay.Text = tmp.ItemDisp; labelValue.Text = comboBox1.SelectedValue.ToString();//値はそのまま取りだせる }
コードは ``` と ``` で囲ってください。インデントされて見やすくなります。
すみません。以後きおつけます。
何を作っているか(Windows Forms? WPF? その他?)書いてください。コードを読めばわかるとは言わないでくださいね。あなたが質問の最初の一行目に書けば済む話なのですから。開発環境(OS, .NET, Visual Studio のバージョンなど)を書いてください。
動かないだけだと情報が少なすぎます。 どのような動作が理想で、現状どのような動作をするのか(エラーが出ているのか、単にテキストが反映されないだけなのか等)も併せて記述をお願いします。
たびたびですみませんが、「動きません」だけでは情報不足です。〇○○という結果を期待したが、アップされているコードでは、期待と違って△△△になってしまう・・・というように、ある程度具体的に書いてください。
ビルドしたのですが エラーになり動かないです
コード自体にはエラーはないです。
ビルドエラーが出た時のメッセージまで具体的に、質問に追記、修正を加えてください。
コードを編集しました、 ビルドしてコンボボックスをを変更してもラベルに反映されません、 どこがおかしいのでしょうか??
コードを編集するだけではなく、SurferOnWwwさんがおっしゃっていることや、「何がしたいのか」、「今どうなっているのか」をできるだけ詳細に「質問に追記、修正を加えて」ください。また、すでに回答をくださっている方のアドバイスは試されたでしょうか?
Windows, .NET, Visual Studio2015 です。 Items.Add に 文字と番号を設定して その番号で switch文のcaseを分岐させるのが最終目的です。
それを質問文の中に書いてください。また、エラーが出ているのならエラーが出ている箇所(赤の波線)にカーソルを合わせるとエラーメッセージが出るはずなのでそれも併せて書くようお願い致します。
例えばなんですけど cmb.Items.Add("切り捨て"); と書いたとして この時点でインデックス番号はついているのでしょうか??
回答1件
あなたの回答
tips
プレビュー