0

コントロール MyLabel があり、フォント サイズを変更するときは、コンストラクターでこのコードを実行する必要があります。このコードを機能させるにはどうすればよいですか?

protected override void OnFontChanged(EventArgs e)
{
    if (AutoSize_)
    {
        this.AutoSize = true;
        remember_size = this.Size;
        this.AutoSize = false;
        this.Size = new Size(remember_size.Width, remember_size.Height);
        remember_size = this.Size;
    }
        ...
        this.Invalidate();
 }

しかし、働かないでください。たとえば、次のコードが機能します。

 protected override void OnFontChanged(EventArgs e)
{
    if (AutoSize_)
    {
        this.AutoSize = true;
    }
           ...
          this.Invalidate();
 }
4

2 に答える 2

0

フォント サイズに関係なくテキストが表示されるようにラベルのサイズを変更することが目的の場合は、AutoSizeプロパティがこれを行います。しかし、何らかの理由でこれを独自のコードで処理したい場合は、 AutoSize プロパティを false にします (変更しないでください..)

于 2013-10-02T08:27:02.757 に答える