2011-06-30 7 views
0

Googleでの検索の後、いくつかの例がありましたが、私に必要なものは何も教えてくれませんでした。コントロール上の文字列の描画とクリアC#

ButtonClickのWinFormのコントロールに文字列(WriteString())を書き込む必要があります。コントロールをシステム日付に書き込むため、この描画を更新する必要があります。

ユーザーがそのボタンをクリックするたびに、DateTime.Now.ToString();をコントロールに描画する必要があります。あなたがリサイズLabelとそのためのTimerを使用することを検討すべきである

カテゴリーで探す

答えて

0

draw a string on label

をg.DrawString文字列を書き込むことができますGraphicsオブジェクトのメソッドは、きっとあなた

書かれたコードが存在するのに役立ちますされてそこ

void Label_OnPaint(object sender, PaintEventArgs e) { 
    base.OnPaint(e); 
    Label lbl = sender as Label; 
    if (lbl != null) { 
    string Text = lbl.Text; 
    e.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias; 
    if (myShowShadow) { // draw the shadow first! 
     e.Graphics.DrawString(Text, lbl.Font, new SolidBrush(myShadowColor), myShadowOffset, StringFormat.GenericDefault); 
    } 
    e.Graphics.DrawString(Text, lbl.Font, new SolidBrush(lbl.ForeColor), 0, 0, StringFormat.GenericDefault); 
    } 
} 
+0

[OK]を、それも私のコントロールで動作するラベルで動作しますが、 Updateへの唯一の方法はControl.Hide()でした。 Control.Show()よりも。 – Burimi

0

+0

はYesですが、もし私は、ビデオプレーヤーコントロールにラベルを使用して、ラベルは '背景、私はそれが必要です(背景)透明です。 – Burimi

+0

[背景](http://msdn.microsoft.com/en-us/library/system.windows.forms.control.backcolor.aspx)のラベルを[Transparent](http:// msdn)というラベルに設定すると、ビデオをレンダリングする方法に応じて動作する場合と動作しない場合があります。 – aL3891

+0

私はそうしたが、まったく動作しません。 – Burimi

0

また、コントロールの描画方法をオーバーライドするために、コントロールのOnPaintメソッドを変更することもできます。このURL

+0

いくつかの例を教えてください。 – Burimi

+0

ここに1つが表示されます:http://msdn.microsoft.com/es-es/library/system.windows.forms.control.onpaint.aspx –

関連する問題