2016-03-28 7 views
0

私はVS2013でC#を使用してプログラミングしました。私はドロップダウンテキストボックス(Telerik RadDropDownListElement)を修正しようとしました。ソフトウェアを開くときに、最後のユーザーの入力がデフォルト値になります。x.Textに既定値を割り当てた後に更新しません

私は、ユーザー入力を保存するためにProperties.Settings.Default.varを使用しました。 x.Textに割り当てると、実行時にユーザーが入力したテキストボックスの値にアクセスできなくなります。

public Initialize() 
{ 
    /****other initial ****/ 
    x.Text = Properties.Settings.Default.var; 
    // set text to default value 
} 

private void save_button_Click(object sender, EventArgs e) 
{ 
    Properties.Settings.Default.var = x.Text; 
    //x.Test still has the default value, not the value in textbox 

    Properties.Settings.Default.save(); 
} 

次のリンクからプロパティバインディングを使用しようとしましたが、同様の結果が得られました。 Automatically update the Application Setting using the binding from VS.Net Designer

保存ボタンをクリックすると、デフォルト値の代わりにテキストボックスの値にアクセスするにはどうすればよいですか?

/****編集詳細****/
私は
x.Text = Properties.Settings.Default.var;
をコメントアウト場合は、VARにx.Textを保存することができますが、デフォルト値が示されていません。

ドロップダウンリストを単純なテキストボックスとして使用しました。これは大きな違いになるのでしょうか?
私はテキストだけのドロップダウンリストのインデックスを使用していません。

+0

あなたは 'Properties.Settins'と呼ばれるクラスを持っていますか、それともあなたの質問の2つのタイプミスですか?これを入力するか、カット/ペーストしましたか?デバッガのx.Textの値を検証していますか(あなたのコメントされたコードについて疑問に思っていますか?)、またはプロパティに保存されていないと仮定していますか? –

+0

@KoryGillオススメは申し訳ありません。他のコンピュータがインターネットを持っていないので、私はこれをタイプしました。私はデバッガでx.Textの値を確認しました。 – Ray

+0

すべてのドロップダウンリストをテキストボックスに置き換えました。 – Ray

答えて

0

を試してみてください。バインドされていないモードでアイテムを手動で追加した場合は、コントロールのTextを設定できますが、バインドされている場合はValueを使用する必要があります。

しかし、私は別のアプローチを提案します。テキストを設定する代わりに、SelectedItem(またはSelectedIndexプロパティ)を設定します。 SelectedItemを設定するには、プロパティにそれを選択して割り当てる必要がアイテムを見つける:

radDropDownList1.SelectedItem = radDropDownList1.FindItemExact("your string", true); 

をFindItemExactがアイテムを返すことを確認し、ない場合は、あなたのアイテムとあなたが持っている保存された文字列をチェックしてください。

また、使用できる他のFind *メソッドもいくつかあります。 SelectedIndexプロパティで設定できるインデックスを返します。

+0

以前のプログラマーは、ドロップダウンリストをテキストボックスとして使用しているので、ドロップダウンリストは全くポップされません(空)。何が違いますか? – Ray

+0

この場合、これは正常に動作するはずです。それをRadTextBoxに置き換えて、それがどのように動作するかを確認するか、問題が観測されて見えるようにサンプルをアップロードすることができます。 – checho

+0

ありがとう! radDropDownListをradTextBoxに置き換えるだけで動作します。しかし、あなたのソリューションは、私のプロジェクトの他の部分には非常に便利です。 – Ray

0

私はそれはあなたがドロップダウンリストに移入んでしたどのように依存推測Properties.Settings.Default["mysetting"];

+0

あなたはどういう意味ですか?すべてのProperties.Settings.Default.varをProperties.Settings.Default ["mysetting"]に置き換えますか?私はどこかにマイセッティングを宣言しなければならないのですか? – Ray

+0

ソリューションの[プロパティ]ディレクトリを確認します。そこにSettings.settingsというファイルがあるはずです。それを開き、設定を開始してください:) – Jace

+0

私は既に自分のSettings.settingsを設定しました。私の上記のコードでは "var" "string" "user" – Ray

関連する問題