|
7 | 7 | using System.Net; |
8 | 8 | using System.Net.Sockets; |
9 | 9 | using System.Text; |
| 10 | +using System.Threading.Tasks; |
10 | 11 | using System.Windows.Forms; |
| 12 | +using static System.Windows.Forms.LinkLabel; |
11 | 13 |
|
12 | 14 | namespace Modbus.Common |
13 | 15 | { |
@@ -597,6 +599,25 @@ private void buttonPauseLog_Click(object sender, EventArgs e) |
597 | 599 | buttonPauseLog.Text = _logPaused ? "Resume" : "Pause"; |
598 | 600 | } |
599 | 601 |
|
| 602 | + private async void buttonSaveLog_ClickAsync(object sender, EventArgs e) |
| 603 | + { |
| 604 | + SaveFileDialog saveFileDialog = new SaveFileDialog(); |
| 605 | + saveFileDialog.FileName = "ModbusLog"; |
| 606 | + saveFileDialog.OverwritePrompt = true; |
| 607 | + saveFileDialog.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*"; |
| 608 | + saveFileDialog.DefaultExt = "txt"; |
| 609 | + if (saveFileDialog.ShowDialog() == DialogResult.OK) |
| 610 | + { |
| 611 | + using (StreamWriter writer = new StreamWriter(saveFileDialog.FileName, append: true)) |
| 612 | + { |
| 613 | + foreach (string line in listBoxCommLog.Items) |
| 614 | + { |
| 615 | + await writer.WriteLineAsync(line); |
| 616 | + } |
| 617 | + } |
| 618 | + } |
| 619 | + } |
| 620 | + |
600 | 621 | protected void DriverIncommingData(byte[] data, int len) |
601 | 622 | { |
602 | 623 | if (_logPaused) |
@@ -632,7 +653,7 @@ protected void AppendLog(String log) |
632 | 653 | var tmpStr = ">" + now.ToLongTimeString() + ": " + log; |
633 | 654 | listBoxCommLog.Items.Add(tmpStr); |
634 | 655 | listBoxCommLog.SelectedIndex = listBoxCommLog.Items.Count - 1; |
635 | | - listBoxCommLog.SelectedIndex = -1; |
| 656 | + //listBoxCommLog.SelectedIndex = -1; |
636 | 657 | } |
637 | 658 |
|
638 | 659 | #endregion |
@@ -737,5 +758,6 @@ private void donate_Click(object sender, EventArgs e) |
737 | 758 | string url = "https://www.buymeacoffee.com/r4K2HIB"; |
738 | 759 | System.Diagnostics.Process.Start(url); |
739 | 760 | } |
| 761 | + |
740 | 762 | } |
741 | 763 | } |
0 commit comments