Skip to content

Commit 1e78567

Browse files
authored
Changed RunInBackground() to take an Action delegate
1 parent 0052300 commit 1e78567

3 files changed

Lines changed: 89 additions & 85 deletions

File tree

MemTestHelper/Form1.Designer.cs

Lines changed: 28 additions & 28 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

MemTestHelper/Form1.cs

Lines changed: 61 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,6 @@ private void Form1_Load(object sender, EventArgs e)
127127

128128
UpdateFormHeight();
129129
UpdateLstCoverageItems();
130-
cboRows.Items.Clear();
131130
InitCboRows();
132131
CentreXYOffsets();
133132
}
@@ -145,7 +144,7 @@ private void Form1_Resize(object sender, EventArgs e)
145144
{
146145
// minimise MemTest instances
147146
case FormWindowState.Minimized:
148-
RunInBackground(new MethodInvoker(delegate
147+
RunInBackground(() =>
149148
{
150149
for (var i = 0; i < threads; i++)
151150
{
@@ -155,12 +154,12 @@ private void Form1_Resize(object sender, EventArgs e)
155154
Thread.Sleep(10);
156155
}
157156
}
158-
}));
157+
});
159158
break;
160159

161160
// restore previous state of MemTest instances
162161
case FormWindowState.Normal:
163-
RunInBackground(new MethodInvoker(delegate
162+
RunInBackground(() =>
164163
{
165164
/*
166165
* isMinimised is true when user clicked the hide button.
@@ -177,15 +176,15 @@ private void Form1_Resize(object sender, EventArgs e)
177176
}
178177
}
179178

180-
// user may have changed offsets while minimised
179+
// User may have changed offsets while minimised.
181180
LayOutMemTests();
182181

183-
// hack to bring form to top
182+
// Hack to bring form to top.
184183
TopMost = true;
185184
Thread.Sleep(10);
186185
TopMost = false;
187186
}
188-
}));
187+
});
189188
break;
190189
}
191190

@@ -221,7 +220,7 @@ private void btnRun_Click(object sender, EventArgs e)
221220
chkStartMin.Enabled = false;
222221

223222
// Run in background as StartMemTests() can block.
224-
RunInBackground(new MethodInvoker(delegate
223+
RunInBackground(() =>
225224
{
226225
StartMemTests();
227226

@@ -232,7 +231,7 @@ private void btnRun_Click(object sender, EventArgs e)
232231
timer.Start();
233232

234233
Activate();
235-
}));
234+
});
236235
}
237236

238237
private void btnStop_Click(object sender, EventArgs e)
@@ -271,7 +270,7 @@ private void btnShow_Click(object sender, EventArgs e)
271270
{
272271
// Run in background as Thread.Sleep can lockup the GUI.
273272
var threads = (int)cboThreads.SelectedItem;
274-
RunInBackground(new MethodInvoker(delegate
273+
RunInBackground(() =>
275274
{
276275
for (var i = 0; i < threads; i++)
277276
{
@@ -290,13 +289,13 @@ private void btnShow_Click(object sender, EventArgs e)
290289
LayOutMemTests();
291290

292291
Activate();
293-
}));
292+
});
294293
}
295294

296295
private void btnHide_Click(object sender, EventArgs e)
297296
{
298297
var threads = (int)cboThreads.SelectedItem;
299-
RunInBackground(new MethodInvoker(delegate
298+
RunInBackground(() =>
300299
{
301300
for (var i = 0; i < threads; i++)
302301
{
@@ -309,12 +308,12 @@ private void btnHide_Click(object sender, EventArgs e)
309308
}
310309

311310
isMinimised = true;
312-
}));
311+
});
313312
}
314313

315314
private void offset_Changed(object sender, EventArgs e)
316315
{
317-
RunInBackground(new MethodInvoker(delegate { LayOutMemTests(); }));
316+
RunInBackground(() => { LayOutMemTests(); });
318317
}
319318

320319
private void btnCenter_Click(object sender, EventArgs e)
@@ -357,6 +356,47 @@ private void udWinHeight_ValueChanged(object sender, EventArgs e)
357356

358357
// Helper Functions //
359358

359+
private void InitCboThreads()
360+
{
361+
cboThreads.Items.Clear();
362+
363+
for (var i = 0; i < MAX_THREADS; i++)
364+
cboThreads.Items.Add(i + 1);
365+
366+
cboThreads.SelectedItem = NUM_THREADS;
367+
}
368+
369+
private void InitCboRows()
370+
{
371+
cboRows.Items.Clear();
372+
373+
var threads = (int)cboThreads.SelectedItem;
374+
375+
for (var i = 1; i <= threads; i++)
376+
{
377+
if (threads % i == 0)
378+
cboRows.Items.Add(i);
379+
}
380+
381+
cboRows.SelectedItem = threads % 2 == 0 ? 2 : 1;
382+
}
383+
384+
private void InitLstCoverage()
385+
{
386+
// Stop flickering: https://stackoverflow.com/a/15268338
387+
var method = typeof(ListView).GetMethod("SetStyle", BindingFlags.Instance | BindingFlags.NonPublic);
388+
method.Invoke(lstCoverage, new object[] { ControlStyles.OptimizedDoubleBuffer, true });
389+
390+
for (var i = 0; i <= (int)cboThreads.SelectedItem; i++)
391+
{
392+
string[] row = { i.ToString(), "-", "-" };
393+
// first row is total
394+
if (i == 0) row[0] = "T";
395+
396+
lstCoverage.Items.Add(new ListViewItem(row));
397+
}
398+
}
399+
360400
// Returns free RAM in MB.
361401
private ulong GetFreeRAM()
362402
{
@@ -465,6 +505,7 @@ private bool LoadConfig()
465505
}
466506
catch(FileNotFoundException)
467507
{
508+
Console.WriteLine(CFG_FILENAME + " not found");
468509
return false;
469510
}
470511

@@ -501,6 +542,7 @@ private bool SaveConfig()
501542
}
502543
catch (Exception)
503544
{
545+
Console.WriteLine("Failed to save " + CFG_FILENAME);
504546
return false;
505547
}
506548
finally
@@ -607,22 +649,6 @@ private bool ValidateInput()
607649
return true;
608650
}
609651

610-
private void InitLstCoverage()
611-
{
612-
// Stop flickering: https://stackoverflow.com/a/15268338
613-
var method = typeof(ListView).GetMethod("SetStyle", BindingFlags.Instance | BindingFlags.NonPublic);
614-
method.Invoke(lstCoverage, new object[] { ControlStyles.OptimizedDoubleBuffer, true });
615-
616-
for (var i = 0; i <= (int)cboThreads.SelectedItem; i++)
617-
{
618-
string[] row = { i.ToString(), "-", "-" };
619-
// first row is total
620-
if (i == 0) row[0] = "T";
621-
622-
lstCoverage.Items.Add(new ListViewItem(row));
623-
}
624-
}
625-
626652
private void UpdateLstCoverageItems()
627653
{
628654
var threads = (int)cboThreads.SelectedItem;
@@ -642,27 +668,6 @@ private void UpdateLstCoverageItems()
642668
}
643669
}
644670

645-
private void InitCboThreads()
646-
{
647-
for (var i = 0; i < MAX_THREADS; i++)
648-
cboThreads.Items.Add(i + 1);
649-
650-
cboThreads.SelectedItem = NUM_THREADS;
651-
}
652-
653-
private void InitCboRows()
654-
{
655-
var threads = (int)cboThreads.SelectedItem;
656-
657-
for (var i = 1; i <= threads; i++)
658-
{
659-
if (threads % i == 0)
660-
cboRows.Items.Add(i);
661-
}
662-
663-
cboRows.SelectedItem = threads % 2 == 0 ? 2 : 1;
664-
}
665-
666671
private void CentreXYOffsets()
667672
{
668673
var screen = Screen.FromControl(this).Bounds;
@@ -837,8 +842,8 @@ private bool IsAnyMemTestStopping()
837842
private void ClickBtnStop()
838843
{
839844
var currTab = tabControl.SelectedTab;
840-
if (currTab != tab_main)
841-
tabControl.SelectedTab = tab_main;
845+
if (currTab != tabMain)
846+
tabControl.SelectedTab = tabMain;
842847

843848
btnStop.PerformClick();
844849
tabControl.SelectedTab = currTab;
@@ -856,7 +861,7 @@ private void ShowErrorMsgBox(string msg)
856861

857862
private bool IsAllFinished()
858863
{
859-
for (int i = 0; i < (int)cboThreads.SelectedItem; i++)
864+
for (var i = 0; i < (int)cboThreads.SelectedItem; i++)
860865
{
861866
if (!memtests[i].Finished)
862867
return false;
@@ -865,10 +870,10 @@ private bool IsAllFinished()
865870
return true;
866871
}
867872

868-
private void RunInBackground(Delegate method)
873+
private void RunInBackground(Action method)
869874
{
870875
BackgroundWorker bw = new BackgroundWorker();
871-
bw.DoWork += new DoWorkEventHandler(delegate (object s, DoWorkEventArgs args)
876+
bw.DoWork += new DoWorkEventHandler((sender, e) =>
872877
{
873878
Invoke(method);
874879
});

MemTestHelper/MemTest.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,6 @@ public bool ClickNagMessageBox(string messageBoxCaption, MsgBoxButton button = M
195195
break;
196196
}
197197

198-
// click Ok
199198
WinAPI.ControlClick(hwnd, strBtn);
200199
return true;
201200
}

0 commit comments

Comments
 (0)