代码之家  ›  专栏  ›  技术社区  ›  shinjuo

在visual basic中按按钮

  •  0
  • shinjuo  · 技术社区  · 14 年前

    Public Class Form1
        Sub outputFile()
            Dim oWrite As System.IO.StreamWriter
            oWrite = System.IO.File.CreateText("C:\sample.txt")
            oWrite.WriteLine(fullNameBox.Text)
        End Sub
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            outputFile()
        End Sub
    
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    
        End Sub
    End Class
    
    3 回复  |  直到 12 年前
        1
  •  1
  •   cincodenada    14 年前

    您是否尝试过单步执行应用程序以查看错误所在?快速浏览一下,您可能需要使用System.IO.File 在第四行(oWrite=IO.File...)而不仅仅是IO,但我还没试过运行它。

        2
  •  0
  •   Tawfik Khalifeh    12 年前
    Imports System.IO
    Public Class Form1
    
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            SaveFileDialog1.FileName = ""
            SaveFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"
            SaveFileDialog1.ShowDialog()
            If SaveFileDialog1.FileName.Trim.Length <> 0 Then
                Dim fs As New FileStream(SaveFileDialog1.FileName.Trim, FileMode.Create)
                Dim sr As New StreamWriter(fs)
                sr.Write(TextBox1.Text)
                fs.Flush()
                sr.Close()
                fs.Close()
            End If
        End Sub
    
        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            OpenFileDialog1.FileName = ""
            OpenFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"
            OpenFileDialog1.ShowDialog()
            If OpenFileDialog1.FileName.Trim.Length <> 0 Then
                Dim fs As New FileStream(OpenFileDialog1.FileName.Trim, FileMode.Open)
                Dim sw As New StreamReader(fs)
                TextBox1.Text = sw.ReadToEnd
                fs.Flush()
                sw.Close()
                fs.Close()
    
            End If
        End Sub
    End Class
    

    这是一个完整的功能程序,如果你想,你只需要拖放一个文本框,openfiledialog,和一个savefiledialog。 随意玩玩代码。 享受
    顺便说一下,代码中的问题是,当您使用完filestream时,您“必须”关闭它,这样做将释放任何资源,如套接字和文件句柄。

        3
  •  0
  •   Richard Sites    11 年前

    My.Computer.FileSystem.WriteAllText("File As String", "TextAsString", Append as Boolean)
    

    A 一般的

    My.Computer.FileSystem.WriteAllText("C:\text.text", "this is what I would like to add", False)
    

    也可以更改为字段的当前文本。

    所以,一个更 具体的 例如

    My.Computer.FileSystem.WriteAllText("C:\text.text", fullNameBox.text, True)
    

    追加

    • 通过设置append=true,您允许应用程序在文件末尾写入文本,而将文件中已经存在的其余文本原封不动地保留下来。

    • 通过设置append=false,您将删除现有文件中的所有文本,并用新文本替换这些文本

    如果您不想编写代码的这一部分(尽管它很小),您可以创建一个sub来处理它,但是该方法会略有不同,只是出于礼节。功能将保持相似(使用 流作者

    Private Sub WriteText()
            Dim objWriter As New System.IO.StreamWriter("file.txt", append as boolean)
            objWriter.WriteLine(textboxname.Text)
            objWriter.Close()
        End Sub
    

    这个 具体 例如

    Private Sub WriteText()
            Dim objWriter As New System.IO.StreamWriter("file.txt", False)
            objWriter.WriteLine(fullnamebox.Text)
            objWriter.Close()
        End Sub
    

    然后在按钮下单击事件调用:

    writetext()
    

    你可以迈出一步 也。如果您想创建一个更高级的Sub来处理任何文本框和文件。

    更干净更优雅的方法)您可以创建一个函数{ 对于这个例子,我将尽可能详细地解释函数背后的概念 }

    下面是针对您的上述请求的更高级的子演示

    Private Sub WriteText(Filename As String, app As Boolean, text As String)
            Dim objWriter As New System.IO.StreamWriter(Filename, app)
            objWriter.WriteLine(text)
            objWriter.Close()
    
    End Sub
    

    它的作用是允许我们(以同样的形式-如果您需要它,我们可以在另一个时间讨论,它一点也不复杂)调用函数并根据需要输入信息。

    子用途->一般样品

    WriteText(Filename As String, app As Boolean)
    

    WriteText("C:\text.txt, False, fullnamebox.text)
    

    但是这个方法最好的部分是你可以根据需要改变它。 两个按钮*和**两个盒子 您可以让第一个按钮的按钮事件触发上述代码,而第二个按钮则触发不同的代码。

    例子

    WriteText("C:\text2.txt, False, halfnamebox.text)
    

    创建自己的函数和sub最好的部分是 我不想谈这个问题,因为它会偏离主题,但是您可以在编写文件之前先检查文本框是否有文本。这将保护文件的完整性。

    希望这有帮助!