From 5fb885c1d9a64356cc4e5518f8c555128176ca2c Mon Sep 17 00:00:00 2001 From: Byoung Gi Lee Date: Wed, 13 Sep 2017 02:01:55 +0900 Subject: [PATCH] moved text setting part to RunWorkerCompleted method in order to avoid cross thread error --- PUBGAddon/Form1.cs | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/PUBGAddon/Form1.cs b/PUBGAddon/Form1.cs index b6cb01e..69d7455 100644 --- a/PUBGAddon/Form1.cs +++ b/PUBGAddon/Form1.cs @@ -22,6 +22,7 @@ public partial class Form1 : Form private IPAddress localIP; private IList>>> serverList; private BackgroundWorker packetCaptureWorker; + private Dictionary IPDict; public Form1() { @@ -96,7 +97,7 @@ private Boolean IsIPInRange(String ip, String startRange, String endRange) private void worker_DoWork(object sender, DoWorkEventArgs e) { - Dictionary IPDict = new Dictionary(); + IPDict = new Dictionary(); using (PacketCommunicator communicator = selectedDevice.Open(1024, PacketDeviceOpenAttributes.Promiscuous, 200)) { @@ -135,13 +136,16 @@ private void worker_DoWork(object sender, DoWorkEventArgs e) } } } + } + + private void worker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) + { textBox1.Text = "알 수 없음"; if (IPDict.Count() == 0) { textBox2.Text = ""; - return; - + goto End; } String mostCommonIP = IPDict.Aggregate((a, b) => a.Value > b.Value ? a : b).Key.ToString(); @@ -153,13 +157,12 @@ private void worker_DoWork(object sender, DoWorkEventArgs e) if (serverList[i].Item2.Any(x => IsIPInRange(mostCommonIP.ToString(), x.Item1, x.Item2))) { textBox1.Text = serverList[i].Item1; - return; + goto End; } } - } - private void worker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) - { + + End: button1.Enabled = true; label3.Text = ""; this.ActiveControl = this.button1;