У меня есть следующий код:
foreach (ListViewItem item in temp.Items)
{
item.Font.Dispose();
ProjectenBox.Items.Add((ListViewItem)item.Clone());
}
Я использую это для копирования ListViewItems в другое представление списка, и это работает как задумано.
Случайно происходят сбои. Это как 1% изменение, я получаю эту ошибку:
System.ArgumentException: Ongeldige parameter.
bij System.Drawing.Font.ToLogFont(Object logFont, Graphics graphics)
bij System.Drawing.Font.ToLogFont(Object logFont)
bij System.Drawing.Font.ToHfont()
bij System.Windows.Forms.Control.FontHandleWrapper..ctor(Font font)
bij System.Windows.Forms.Control.get_FontHandle()
bij System.Windows.Forms.Control.SetWindowFont()
bij System.Windows.Forms.Control.OnHandleCreated(EventArgs e)
bij System.Windows.Forms.ListView.OnHandleCreated(EventArgs e)
bij System.Windows.Forms.Control.WmCreate(Message& m)
bij System.Windows.Forms.Control.WndProc(Message& m)
bij System.Windows.Forms.ListView.WndProc(Message& m)
bij System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Переведено на английский sh
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)
root причина этой ошибки
item.Font.Dispose();
Но этот код нужен, так как я не хочу иметь «связанный» шрифт. (референсный пост)
Я что-то здесь не так делаю?