C2025-023 - Electronic Procedures - Modifications to PROMS (checkin 4 - added some comments)

This commit is contained in:
Matthew Schill 2025-04-10 09:05:42 -04:00
parent d392131005
commit 9fdbdb05f4
2 changed files with 14 additions and 1 deletions

View File

@ -7,6 +7,8 @@ using System.Windows.Forms;
namespace Volian.Controls.Library
{
//Class to handle bug in Windows WinForms ListBox
// that autoselects first item when no items are selected
public partial class ListBoxMulti : ListBox
{
public ListBoxMulti()
@ -19,8 +21,13 @@ namespace Volian.Controls.Library
Disposed += ListBoxMulti_Disposed;
}
//singleselectedindex
// will help to fix bug in Winforms ListBox
// that autoselects first item when no items are selected
// -1 = multi or set to this after 1st initialization
// if this = 0 and only 1 item selected,
// that means item was autoselected, so clear all items.
public int singleselectedindex { get; set; }
private void lb_SelectedIndexChanged(object sender, EventArgs e)
{
ListBoxMulti tmp = (ListBoxMulti)sender;
@ -36,6 +43,7 @@ namespace Volian.Controls.Library
}
//remove event when get rid of object
private void ListBoxMulti_Disposed(object sender, EventArgs e)
{
SelectedIndexChanged -= lb_SelectedIndexChanged;

View File

@ -168,6 +168,7 @@ namespace Volian.Controls.Library
foreach (KeyValuePair<string, ListBoxMulti> pair in _DicMultiRO)
{
//clear all items at start in case items were autoselected - bug in Winforms ListBox
pair.Value.ClearSelected();
string val = MyConfig.GetValue("EP", pair.Key);
if (val != null && val != "")
@ -180,6 +181,10 @@ namespace Volian.Controls.Library
pair.Value.SetSelected(pair.Value.FindString(text), true);
}
}
//set this to -1 after initial setting of values
//this will help to fix bug in Winforms ListBox
//that autoselects first item when no items are selected
pair.Value.singleselectedindex = -1;
}