none
【問題】按兩次 Button 顯示在 TEXTBOX (先清除再顯示) RRS feed

  • 問題

  • 我設計流程如下

    按 Button 後 讀取 txt檔案 顯示在 textbox

    我想改成 不關掉form 【再】按一次 Button

    先清除掉TextBox的內容,再顯示

    可以辦到嗎?

    我直接在Button裡面加上 TextBox1=""

    似乎不會清楚

    程式片段如下(Button)

    TextBox1=""(TextBox的text預設是空白"")

            While readerTP.EndOfStream = False

                Dim oneline = readerTP.ReadLine()

                TextBox1.Text = oneline

            End While

    2010年11月3日 上午 07:30

解答

所有回覆

  • 我自己有想過 用  IF else

    但是 就必須再按一次(按第三次)

    才可以顯示資料 >"<

    請問各位神人大大~ 有沒有更好的方法~

    2010年11月3日 上午 07:51
  •  

    If TextBox1.Text <> "" Then
      TextBox1.Text ="" '(TextBox的text預設是空白"")
    Else
            While readerTP.EndOfStream = False
                Dim oneline = readerTP.ReadLine()
                TextBox1.Text = oneline
            End While
    End If
    

     


     

     

    2010年11月3日 上午 07:55
  •  

    If TextBox1.Text <> "" Then
     TextBox1.Text ="" '(TextBox的text預設是空白"")
    Else
            While readerTP.EndOfStream = False
                Dim oneline = readerTP.ReadLine()
                TextBox1.Text = oneline
            End While
    End If
    

     


     

     

    感謝回覆

    但這就會變成 要按第三次 才會顯示資料 ^^~

    我是希望能不能做到

    按第二次時候,不但先清除 而且可以再顯示資料@@

    2010年11月3日 上午 07:58
  • TextBox1.Text = "" '(TextBox的text預設是空白"")
    Application.DoEvents()
    System.Threading.Thread.Sleep(1000)
            While readerTP.EndOfStream = False
                Dim oneline = readerTP.ReadLine()
                TextBox1.Text = oneline
            End While
    

    Application.DoEvents 方法
    http://msdn.microsoft.com/zh-tw/library/system.windows.forms.application.doevents(VS.80).aspx
    
    
    Thread.Sleep 方法 (Int32)
    • 已標示為解答 Rickyjim 2010年11月3日 上午 08:13
    • 已編輯 Joe Hung 2010年11月3日 上午 08:27
    2010年11月3日 上午 08:06
  • TextBox1.Text = "" '(TextBox的text預設是空白"")
    Application.DoEvents()
    System.Threading.Thread.Sleep(1000)
            While readerTP.EndOfStream = False
                Dim oneline = readerTP.ReadLine()
                TextBox1.Text = oneline
            End While
    

    Application.DoEvents 方法
    http://msdn.microsoft.com/zh-tw/library/system.windows.forms.application.doevents(VS.80).aspx
    
    

    謝謝大大回復 我再試試看~ 原來可以用DoEvents的方式

    需要一點時間了解一下 這個原理在哪裡

    難道就是 字面上的意思 暫停嗎?

    2010年11月3日 上午 08:10
  • 太棒了~ 

    Application.DoEvents()

    System.Threading.Thread.Sleep(1000)
    這個方法 可以讓我實現 當讀取文字檔時候
    假設文字檔有999行 顯示再Label上
    就可以從0看到數到999

    2010年11月3日 下午 12:54