dbからデータを取得してラベルにバインドするWindowsアプリケーションがあります。私はタイマーを使用してラベルをスクロールしています。これは、文字列が約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が複数行のサポート、スクロールバー、および読み取り専用のプロパティが追加されたテキストボックスを挙げると、より良いコントロールが使用される可能性があります。テキストがDBに格納される方法でもあります。レコードが大きいほど、データベースからの取り出しに時間がかかります。この場合、テキストをバイナリとして保存すると役立ちます。この回答を見てください:http://stackoverflow.com/questions/26926818/best-way-to-store-large-string-in-sql-server-database –