1

下のような図では、このコードの「同じ」番号を取得しています。そのうちの 1 つは texteditor 用で、もう 1 つはボタン用です。表のセルにある型がボタンのフォント サイズよりも大きいのに、これら 2 つのコードが同じ数値を返すのはなぜですか?

    Graphics graphics =  ctlTEEditor.CreateGraphics();
    int width = (int)graphics.MeasureString("FitsToooo", ctlTEEditor.Font).Width;
    MessageBox.Show(width.ToString());

    Graphics graphics2 = button1.CreateGraphics();
    int width2 = (int)graphics2.MeasureString("FitsToooo", button1.Font).Width;
    MessageBox.Show(width2.ToString());

ここに画像の説明を入力

4

2 に答える 2

1

MeasureString は、コントロールが実装することを選択する可能性のあるワード ラッピングを認識しません。

于 2012-08-28T19:36:38.843 に答える
0

OK、問題は、コードで「ctlTEEditor.Font」と言ったとき、これはコントロール自体のフォントであり、表のセル内で使用されるフォントではないということです。

于 2012-08-28T19:54:03.437 に答える