2010-12-03 3 views
0

Visual Studio C#でOK/Cancelボタンを押すと、フォームのコントロールの値を保存/破棄する方法を教えてください。[OK /キャンセル]ボタンを押すと、フォームのコントロールの値を保存/破棄する方法は?

フォームのコントロールには、TablelayoutPanel(TextBoxes)、NumericUpDownなどがあります。

は、あなたの専門家の指導を必要

よろしく アサド

+0

データはどこに保存しますか?ファイルに?データベース?あなたのデータモデル? –

+0

データはわずかなテキストボックスで、2つの数値アップダウンカウンタです。だから私はそれをSystem Registryに保存したい。 – Asad

+0

使用されているアプリケーションと格納されている値は何ですか? –

答えて

1

"onclick"イベントの両方のボタンで、フォームの内容を保存する関数を呼び出します。また、ユーザーが右上のXボタンを押した場合には、フォームのthis call in the "onclose" eventが必要です(その瞬間にデータを保存したくない場合)

この関数の中には、レジストリにデータを保存します。

Writing in the registry is easy。このウェブページでは、データを元に戻す方法についても説明します。書き込む値はテキストボックスになります。値など

0

質問は明確ではないが、Winフォームでは、あなたの[閉じる]ボタンのClickイベントに

this.Close() 

を呼び出すことができます。
フォームで使用されるすべてのオブジェクトまたは変数が破棄されます。注意してください!実行中のバックグラウンドスレッドは、終了するまで有効です。

変数の状態の保存については、後で必要なものに完全に依存します。それらをメモリ内に保持し、パラメータのように渡したり、ディスクに書き込んだりすることができます(おそらく、直列化を使用していますか?)。
もっと知る必要があります。あなたは、アプリケーション設定(http://msdn.microsoft.com/en-us/library/ms184658(VS.80).aspx)を見てみたいことがあり

編集

+0

はい、そのウィンドウはアプリケーションを形成します。実際には、詳細は、私は問題のコントロールを持つ子フォームを持っています。ユーザーからOK/Cancelボタンを押すと子フォームの値を保存/破棄したい。 – Asad

+0

ユーザーがOK(子フォーム上)を押してデータを保存すると、アプリケーションはメインフォームに戻ります。ここではメインフォームで、(以前に入力した)子フォームの入力値を確認/編集/ CancelChangesするボタンがあります。したがって、ユーザーが子フォームの値を確認したい場合は、入力した値と同じ値を復元するだけです。ユーザーが値を編集する場合、フォームは変更を受け入れる必要があります。そして、ユーザーがそれを見直したいと思って子どもに何らかの変更を加えた後、これらの変更を取り消したい場合は、以前に保存した子フォームの値全体ではなく、変更を取り消す必要があります。 – Asad

+2

レジストリに値を保存する理由あなたは、アプリケーションが閉じられた後にそれらを保持する必要がありますか?あなたは一組の値を保存するだけでいいですか?変数に値を格納し、メインフォームでそれらの値を利用できるようにするだけでは不十分ですか? –

関連する問題