私は.FormClosingイベントについて知っていますが、アプリケーションが完全に閉じられていても、ユーザーが行った変更をそこにとどめる方法を見つけることはできません。アプリを閉じて再起動しても、ユーザーが行った変更を保存するにはどうすればよいですか?
私はいくつかの文字列の値をユーザーが入力したテキストボックスに残すようにしようとしています。例:
この終了イベントの後、私はアプリケーションを再オープンするときに、その文字列をそれぞれのテキストボックスに残す必要があります。
私は.FormClosingイベントについて知っていますが、アプリケーションが完全に閉じられていても、ユーザーが行った変更をそこにとどめる方法を見つけることはできません。アプリを閉じて再起動しても、ユーザーが行った変更を保存するにはどうすればよいですか?
私はいくつかの文字列の値をユーザーが入力したテキストボックスに残すようにしようとしています。例:
この終了イベントの後、私はアプリケーションを再オープンするときに、その文字列をそれぞれのテキストボックスに残す必要があります。
物理的に(ファイルまたはデータベース)どこかに保存して、アプリが再び起動したときにそれらを取得する必要があります。
あり最も簡単なtxt
ファイルにTextBox
値を保存し、アプリケーションを起動しながら、それらを取得ソリューション。
Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
'open new file called saveddata.txt and store each textbox value in new line
Dim fl As New System.IO.StreamWriter(Application.StartupPath & "\saveddata.txt", False)
fl.WriteLine(TextBox1.Text)
fl.WriteLine(TextBox2.Text)
fl.Close()
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'check if saveddata.txt file exist and, if exist, take values from it and store to textboxes
If System.IO.File.Exists(Application.StartupPath & "\saveddata.txt") = True Then
Dim fl As New System.IO.StreamReader(Application.StartupPath & "\saveddata.txt")
TextBox1.Text = fl.ReadLine
TextBox2.Text = fl.ReadLine
fl.Close()
End If
End Sub
これは、最も簡単な解決策です。それらの値をxml、データベース...に格納することができます。値は暗号化することができます。
'StreamWriters'と' StreamReaders'を 'using'ブロックで囲むだけで、オブジェクトは閉じることができます。**と**は同様に処理されます。 ** Path.Combine **の代わりにパスの文字列を連結するだけです。 – Codexer
これは実行時には実行できません。 ** my.settings **をご覧ください。必要なものを保存することができます。これを説明する多くの答えがここにあります。より多くのデータを保存する場合は、DBを使用するか、ファイルに書き込む必要があります。 – Codexer