2012-01-26 8 views
3

コンボボックスにオプションがあるフォームが1つあるとします。今、このプログラムの最初の実行で、ユーザーはコンボボックスからオプションを選択し、ボタンのクリックなどで保存します。ユーザーが2回目にアプリケーションを終了してもう一度実行すると、最後に保存された選択肢を取得する方法はありますか?C#WinFormsで最後に保存された値を取得する

これは、コンボボックスからoption1を選択し、アプリケーションを終了すると意味します。しばらくするとアプリケーションが再び起動し、前のセッションで選択したため、コンボボックスにoption1が選択された状態になります。

私はあなたが私の考えを理解することを願っています。

+0

可能な複製 - http://stackoverflow.com/q/8974707/799586 –

+0

データベースに保存するか、Windowsフォーム/ .NET Frameworkのユーザー設定フレームワークを使用してください。 –

+0

既にデータを保存するボタンがありますか?そうでない場合は、ファイルやデータベースなどに保存することができます。次に、アプリケーションを起動するときに値を読み取ります。あなたはまだこれを試みたことがありますか? – musefan

答えて

4

使用Settings

// To Load (after combo box binding/population) 
private void LoadSelection() 
{ 
    int selectedIndex = 0; 

    if (int.TryParse(Properties.Settings.Default.comboBoxSelection, out selectedIndex)) 
    { 
     cbMyComboBox.SelectedIndex = selectedIndex; 
    } 
} 

// saving on button click. 
private void saveButton_Click(object sender, EventArgs e) 
{ 
    //set the new value of comboBoxSelection 
    Properties.Settings.Default.comboBoxSelection = cbMyComboBox.SelectedIndex; 

    //apply the changes to the settings file 
    Properties.Settings.Default.Save(); 
} 

here for more detailを参照してください。

+0

+1。 'TryParse'は必要ないことに注意してください。設定は強く型付けされているので、' int'設定を使うだけで、文字列を解析する心配はありません。 –

1

値を手動で保存し、プログラムの起動時に再度読み込む必要があります。

Visual Studioで簡単に行うには、Settingsクラスを作成します。 VSでは、あなたのプロジェクトを右クリックし、新しい追加をクリックし、 "設定ファイル"にスクロールして追加します。 VSでは、設定オブジェクトに名前を選択できる新しいプロパティを作成できるUIが表示されます。

私は文字列型の「ComboboxValue」と呼ばれる新しいプロパティを作成した場合、私はSettings1.Default.ComboboxValue = "hello world";

ようなコードでそれを参照することができます。ここMSDNはそれでだ:

http://msdn.microsoft.com/en-us/library/a65txexh(v=vs.100).aspx

0

あなたが設定を追加することができますプロジェクト下のソリューションエクスプローラの プロパティフォルダ リソース「文字列」を追加して「選択」した名前を「 」と入力してください。

// this is save button 
Properties.Settings.Default.selected = comboBox1.SelectedIndex; 
Properties.Settings.Default.Save(); 

// this is retrieve (use it in window_load event for example) 
comboBox1.SelectedIndex = Convert.ToInt32(Properties.Settings.Default.selected); 
関連する問題