2012-03-04 10 views
0

私はコンボボックスを持つフォームを持っています。ユーザーがフォームを閉じて再度開いても、このコンボボックスの値を変更しないでください。ユーザーが更新しない限り、値は一定のままでなければなりません。更新されたフィールドは一定のままです。コンボボックスの定数値

答えて

1

次に、選択した値をどこかに保存する必要があります。これは、どこでどこを決定する必要があるかによって異なります。

アプリケーション全体を閉じて開いている場合は、その値をデータベースまたはファイルに保存する必要があります.xmlファイルが最適な方法です。

あなただけ、あなたはそれをメモリに格納することができ、アプリケーションの存続期間中変わらず、それを維持する必要がある場合 - フォームの静的変数に言うことができます、以下はそのオプションを示しています

public partial class Form1 : Form 
{ 
    static string selection; 
    public Form1() 
    { 
     InitializeComponent(); 
     comboBox1.SelectedItem = selection; 
    } 

    private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     selection = (string)comboBox1.SelectedItem; 
    } 
} 
+0

おかげで、実際にグローバルに定義されたvariabを私の問題を解決しました。アプリケーションの存続期間にのみ必要です。 –

+0

上記の解決策は、アプリケーションの存続期間中存続し、これを達成するために最低特権の原則を使用します。これを公開プロパティにすると、他のコンポーネント(フォーム)からアクセスできるようになります。 – dice

1

あなたはフルたとえば、フォームのロード

private void Form_Load(object o , EventArgs e) 
{ 
    combo.SelectedValue = someData.SomeID; 
} 

に正しい値にcombo.SelectedValueを設定する必要があります。vb.net, combobox.datasource will change selected index?

関連する問題