Сброс шрифта списка вызывает случайные сбои - PullRequest
0 голосов
/ 03 марта 2020

По ссылке с: Main Post

У меня есть код, где я сбрасываю шрифт, используя:

ListView1.Font.Dispose();
ListView1.Font = new Font("Microsoft Sans Serif", 15F, FontStyle.Regular);

Хотя по какой-то причине, случайно, это дает эта ошибка (поэтому не всегда).

System.ArgumentException: Invalid parameter.
   at System.Drawing.Font.ToLogFont(Object logFont, Graphics graphics)
   at System.Drawing.Font.ToLogFont(Object logFont)
   at System.Drawing.Font.ToHfont()
   at System.Windows.Forms.Control.FontHandleWrapper..ctor(Font font)
   at System.Windows.Forms.Control.get_FontHandle()
   at System.Windows.Forms.Control.SetWindowFont()
   at System.Windows.Forms.Control.OnHandleCreated(EventArgs e)
   at System.Windows.Forms.ListView.OnHandleCreated(EventArgs e)
   at System.Windows.Forms.Control.WmCreate(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ListView.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Моя программа выполняет следующие действия: клонирует lisviews для других списков и т. д. c, поэтому мне нужно сбросить шрифт. Потому что, если я не сделаю этого, он вызовет все шрифты в ListViewItems, хотя примерно в 2% попыток происходит сбой с вышеуказанной ошибкой. Весьма запутанно.

...