В настоящее время я делаю приложение на C#, которое использует LinkLabels
. У меня есть функция, которая добавляет новую ссылку для каждого элемента в определенном массиве. Однако бывает, что массив имеет более 32 ссылок, и когда это происходит, я получаю исключение OverflowException:Более 32 ссылок в LinkLabel?
System.OverflowException: ошибка переполнения. на System.Drawing.StringFormat.SetMeasurableCharacterRanges (ДиапазонСимволы [] диапазоны) в System.Windows.Forms.LinkLabel.CreateStringFormat() в System.Windows.Forms.LinkLabel.EnsureRun (График г) в System.Windows.Forms .LinkLabel.OnPaint (PaintEventArgs е) в System.Windows.Forms.Control.PaintWithErrorHandling (PaintEventArgs е, Int16 слой) на System.Windows.Forms.Control.WmPaint (Сообщение & м) на System.Windows.Forms. Control.WndProc (Сообщение & м) на System.Windows.Forms.Label.WndProc (сообщение & м) на System.Windows.Forms.NativeWindow.Callback (IntPtr HWND, Int32 MSG, IntPtr, IntPtr WPARAM LPARAM)
Есть ли способ переопределить функцию SetMeasurableCharacterRanges
. Чтобы он не выдавал эту ошибку при наличии более 32 символов? Вот пример моего кода:
int LengthCounter = 0;
llbl.Links.Clear();
string[] props = AList.ToArray();
llbl.Text = string.Join(", ", props);
foreach (var Prop in props)
{
llbl.Links.Add(LengthCounter, Prop.Length, string.Format("{0}{1}", prefix, Sanitize(Prop)));
LengthCounter += Prop.Length + 2;
}