У меня есть приложение Windows, в котором я беру данные из db и привязываю их к метке. Я использую таймер и прокрутку метки, это отлично работает, когда строка содержит около 150 символов, но когда у меня есть строка около 30000 символов, она просто зависает с приложением.Большая строка в ярлыке, вызывающая зависание приложения (C# Windows)
lblMsg1.AutoEllipsis = true;
private void timer1_Tick(object sender, EventArgs e)
{
try
{
if (lblMsg1.Right <= 0)
{
lblMsg1.Left = this.Width;
}
else
lblMsg1.Left = lblMsg1.Left - 5;
this.Refresh();
}
catch (Exception ex)
{
}
}
public void bindData()
{
lblMsg.Text = "Some Large text";
}
public void Start()
{
try
{
timer1.Interval = 150;
timer1.Start();
}
catch (Exception ex)
{
Log.WriteException(ex);
}
}
Почему это связано с длиной строки и вызывает зависание приложения? Заранее спасибо.
Я не думаю, что ярлыки в C# были разработаны, чтобы содержать так много персонажи. Они предназначены для описания другого объекта, например. текстовое поле, радиокнопка и т. д. Скорее всего, около 250 символов не 30 000 –
@ Kendo, так это причина моего приложения? –
Возможно, есть более эффективные средства управления, в том числе, поскольку Visakh V A упомянул текстовое поле с добавленными свойствами для поддержки нескольких строк, полос прокрутки и только для чтения. Это также может быть способ хранения текста в вашей БД. Чем больше запись, тем дольше она требуется для извлечения из базы данных. В этом случае сохранение вашего текста в виде двоичного файла может помочь вам. Взгляните на этот ответ: http://stackoverflow.com/questions/26926818/best-way-to-store-large-string-in-sql-server-database –