Skip to content

Commit

Permalink
Memory related fixes.
Browse files Browse the repository at this point in the history
  • Loading branch information
kirsan31 committed Apr 23, 2021
1 parent c19dcb2 commit f6d2f81
Showing 1 changed file with 42 additions and 37 deletions.
79 changes: 42 additions & 37 deletions AdvancedDataGridView/MenuStrip.cs
Expand Up @@ -64,6 +64,7 @@ public enum SortType : byte
private TreeNodeItemSelector[] _restoreNodes = new TreeNodeItemSelector[] { };
private bool _checkTextFilterSetByText = false;
private bool _checkTextFilterRemoveNodesOnSearch = true;
private static ImageList _checkListStateImages;

#endregion

Expand Down Expand Up @@ -199,12 +200,15 @@ private void MenuStrip_LostFocus(Object sender, EventArgs e)
/// Get all images for checkList
/// </summary>
/// <returns></returns>
private ImageList GetCheckListStateImages()
private static ImageList GetCheckListStateImages()
{
ImageList images = new System.Windows.Forms.ImageList();
Bitmap unCheckImg = new Bitmap(16, 16);
Bitmap checkImg = new Bitmap(16, 16);
Bitmap mixedImg = new Bitmap(16, 16);
if (_checkListStateImages != null)
return _checkListStateImages;

_checkListStateImages = new System.Windows.Forms.ImageList();
Bitmap unCheckImg;
Bitmap checkImg;
Bitmap mixedImg;

using (Bitmap img = new Bitmap(16, 16))
{
Expand All @@ -219,11 +223,11 @@ private ImageList GetCheckListStateImages()
}
}

images.Images.Add("uncheck", unCheckImg);
images.Images.Add("check", checkImg);
images.Images.Add("mixed", mixedImg);
_checkListStateImages.Images.Add("uncheck", unCheckImg);
_checkListStateImages.Images.Add("check", checkImg);
_checkListStateImages.Images.Add("mixed", mixedImg);

return images;
return _checkListStateImages;
}

#endregion
Expand Down Expand Up @@ -1408,49 +1412,50 @@ private void CustomFilterMenuItem_Click(object sender, EventArgs e)
return;

//open a new Custom filter window
FormCustomFilter flt = new FormCustomFilter(DataType, IsFilterDateAndTimeEnabled);

if (flt.ShowDialog() == DialogResult.OK)
using (FormCustomFilter flt = new FormCustomFilter(DataType, IsFilterDateAndTimeEnabled))
{
//add the new Filter presets
if (flt.ShowDialog() == DialogResult.OK)
{
//add the new Filter presets

string filterString = flt.FilterString;
string viewFilterString = flt.FilterStringDescription;
string filterString = flt.FilterString;
string viewFilterString = flt.FilterStringDescription;

int index = -1;
int index = -1;

for (int i = 2; i < customFilterLastFiltersListMenuItem.DropDownItems.Count; i++)
{
if (customFilterLastFiltersListMenuItem.DropDown.Items[i].Available)
for (int i = 2; i < customFilterLastFiltersListMenuItem.DropDownItems.Count; i++)
{
if (customFilterLastFiltersListMenuItem.DropDownItems[i].Text == viewFilterString && customFilterLastFiltersListMenuItem.DropDownItems[i].Tag.ToString() == filterString)
if (customFilterLastFiltersListMenuItem.DropDown.Items[i].Available)
{
index = i;
break;
if (customFilterLastFiltersListMenuItem.DropDownItems[i].Text == viewFilterString && customFilterLastFiltersListMenuItem.DropDownItems[i].Tag.ToString() == filterString)
{
index = i;
break;
}
}
else
break;
}
else
break;
}

if (index < 2)
{
for (int i = customFilterLastFiltersListMenuItem.DropDownItems.Count - 2; i > 1; i--)
if (index < 2)
{
if (customFilterLastFiltersListMenuItem.DropDownItems[i].Available)
for (int i = customFilterLastFiltersListMenuItem.DropDownItems.Count - 2; i > 1; i--)
{
customFilterLastFiltersListMenuItem.DropDownItems[i + 1].Text = customFilterLastFiltersListMenuItem.DropDownItems[i].Text;
customFilterLastFiltersListMenuItem.DropDownItems[i + 1].Tag = customFilterLastFiltersListMenuItem.DropDownItems[i].Tag;
if (customFilterLastFiltersListMenuItem.DropDownItems[i].Available)
{
customFilterLastFiltersListMenuItem.DropDownItems[i + 1].Text = customFilterLastFiltersListMenuItem.DropDownItems[i].Text;
customFilterLastFiltersListMenuItem.DropDownItems[i + 1].Tag = customFilterLastFiltersListMenuItem.DropDownItems[i].Tag;
}
}
index = 2;

customFilterLastFiltersListMenuItem.DropDownItems[2].Text = viewFilterString;
customFilterLastFiltersListMenuItem.DropDownItems[2].Tag = filterString;
}
index = 2;

customFilterLastFiltersListMenuItem.DropDownItems[2].Text = viewFilterString;
customFilterLastFiltersListMenuItem.DropDownItems[2].Tag = filterString;
//set the Custom Filter
SetCustomFilter(index);
}

//set the Custom Filter
SetCustomFilter(index);
}
}

Expand Down

0 comments on commit f6d2f81

Please sign in to comment.