В настоящее время я создаю приложение на C #, в котором используется LinkLabels
. У меня есть функция, которая добавляет новую ссылку для каждого элемента в определенном массиве. Однако бывает, что в массиве более 32 ссылок, и когда это происходит, я получаю исключение OverflowException:
System.OverflowException: ошибка переполнения. в System.Drawing.StringFormat.SetMeasurableCharacterRanges (CharacterRange [] диапазоны) в System.Windows.Forms.LinkLabel.CreateStringFormat () в System.Windows.Forms.LinkLabel.EnsureRun (Graphics g) в System.Windows.Forms.LinkLabel (PaintEventArgs e) в System.Windows.Forms.Control.PaintWithErrorHandling (PaintEventArgs e, слой Int16) в System.Windows.Forms.Control.WmPaint (Message & m) в System.Windows.Forms.Control.WndProc (Message & m) в System.Windows.Forms.Label.WndProc (сообщение & m) в System.Windows.Forms.NativeWindow.Callback (IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr 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;
}