1

textbox固定を維持しながら、高さを動的に変更しようとしていwidthます。textただし、が長すぎて 2 行目に入ると、は実行されtextboxませんresize

textbox、すべてのテキストが追加された後にサイズ変更されます。

以下は私が現在使用しているものです。

txtwfSupportNotes[i].Multiline = true;
txtwfSupportNotes[i].Text += ds.Tables[0].Rows[i]["Notes"].ToString() 
+ "\r\n\r\n";
Size txtSize = TextRenderer.MeasureText(txtwfSupportNotes[i]
.Text, txtwfSupportNotes[i].Font);
txtwfSupportNotes[i].Width = 355;
txtwfSupportNotes[i].Height = txtSize.Height+5;
txtwfSupportNotes[i].BorderStyle = BorderStyle.FixedSingle;

編集:修正しました。以下を参照してください。

Size txtSize = TextRenderer.MeasureText(txtwfSupportNotes[i].Text, txtwfSupportNotes[i].Font, txtwfSupportNotes[i].ClientRectangle.Size, TextFormatFlags.WordBreak);
txtwfSupportNotes[i].Height = txtSize.Height+5;
4

4 に答える 4

0

TextBox の FontChanged イベントを使用しないのはなぜですか? 次のようにします。

private void txtwfSupportNotes_FontChanged(object sender, EventArgs e)
    {
        Size txtSize = TextRenderer.MeasureText(txtwfSupportNotes.Text, txtwfSupportNotes.Font);
        txtwfSupportNotes.Height = txtSize.Height + 5;
    }
于 2013-06-19T09:15:03.187 に答える
0

MinHeight プロパティを使用する場合は、テキスト ボックスを動的にサイズ変更する必要があると思います。

txtwfSupportNotes[i].MinHeight = txtSize.Height+5;
于 2013-06-19T09:15:22.400 に答える
0

これは wpf または winforms アプリケーションであると想定しています。その場合は、高さを設定しないでください (ただし、ラッピングを使用してください)。その後、テキスト ボックスのサイズを動的に変更する必要があります。

于 2013-06-19T09:13:42.697 に答える
0

デザイナのテキスト ボックス コントロールで "Locked" プロパティ = false であることを確認しますか?

于 2013-06-19T09:18:53.877 に答える