是否可以使用可在VB程序中打开的自定义文件类型。
例如:有一个带有一些文本的文本框和一个已选中的复选框...您将保存为自定义文件类型,当您再次打开文件时,将选中复选框并显示文本框会有文字。它基本上将程序的状态保存为自定义文件类型。
E.g。 - > .pro,.lll,.hgy,.xyz,.abc
我只是好奇......这是可能的,如果可以的话,我该如何处理呢?
答案 0 :(得分:2)
在使用内存数据表并对其进行序列化之前,您可以使用BinaryWriter和BinaryReader执行Ichiru对我的一些项目所做的事情。
Imports System.IO
Public Class Form1
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Using bs As New BinaryWriter(File.Open("Mydata.xyz", FileMode.Create))
bs.Write(TextBox1.Text)
bs.Write(CheckBox1.Checked)
bs.Close()
End Using
End Sub
Public Sub New()
' This call is required by the designer.
InitializeComponent()
' Add any initialization after the InitializeComponent() call.
If File.Exists("Mydata.xyz") Then
Using br As New BinaryReader(File.Open("Mydata.xyz", FileMode.Open))
Try
TextBox1.Text = br.ReadString
CheckBox1.Checked = br.ReadBoolean
Catch ex As EndOfStreamException
'Catch any errors because file is incomplete
End Try
End Using
End If
End Sub
End Class
但是.Net有一个内置的Settings Class,您可以使用它来保存您的数据。它会像这样使用
Public Class Form1
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
My.MySettings.Default.checkbox1 = CheckBox1.Checked
My.MySettings.Default.textbox1 = TextBox1.Text
My.MySettings.Default.Save()
End Sub
Public Sub New()
' This call is required by the designer.
InitializeComponent()
' Add any initialization after the InitializeComponent() call.
CheckBox1.Checked = My.MySettings.Default.checkbox1
TextBox1.Text = My.MySettings.Default.textbox1
End Sub
End Class
答案 1 :(得分:1)
是的,可以创建自己的自定义文件类型。 解决此类问题的最佳方法是创建二进制编写器 在二进制编写器中,您将编写文本框的内容和复选框的状态。
写作:
BinaryWriter.Write("string")
BinaryWriter.Write(false)
读:
String str
Boolean bool
str = BinaryReader.ReadString()
bool = BinaryReader.ReadBoolean()
答案 2 :(得分:1)
除非您使用可读取此自定义扩展数据文件的可执行文件打开系统的默认应用程序设置,否则这是不可能的。
自定义扩展无法像.exe那样执行,但它们可以被.exe读取并用于配置特定.exe的设置