title: c# read file line by line by every button click
body: <p>I implemented a server which connects with multiple clients. The server reads a text file and send the first line to the clients and waits 6 seconds and sends the next line and so on. Now I want to send a line only if the button were clicked. How do I do that?</p>
  
  <p>In my button event I put the method in a task because the server has to handle other coming connectivty request from the clients.</p>
  
  <p>Server side:</p>
  
  <pre><code>private void SendFilesButton_Click(object sender, EventArgs e)
      {
          Task SendTask = Task.Factory.StartNew(() =&gt; SendFiles());
      } 
  
  
      public void SendFiles()
      {
          try
          {
              tcpClient = tcpListener.AcceptTcpClient();
              if (tcpClient.Connected)
              {
  
                  using (StreamReader reader = new StreamReader("C:\\Users\\Chudnofsky\\Desktop\\Projekt\\Neu\\Messwerte.txt"))
                  {
  
                      lock (this)
                      {
                          string line;
                          for (int i = 1; i &lt; 2400; i++)
                          {
                              line = reader.ReadLine() + Environment.NewLine;
                              stream = tcpClient.GetStream();
                              byte[] toSend = Encoding.ASCII.GetBytes(line);
                              stream.Write(toSend, 0, toSend.Length);
                              stream.Flush();
                              i++;
                              Thread.Sleep(6000);
                          }
  
                      }
  
                  }
  
              }
  
          }
          catch (Exception)
          {
  
              System.Windows.Forms.MessageBox.Show("Datei konnte nicht gelesen werden!");
          }
      }
  </code></pre>