c# – 多行文本框根据文本量自动调整高度

我有一个文本框,可以返回各种字符串,长度从5个字符到1000个字符不等.
它具有以下属性

> multiline = true
> wordwrap = true

我需要设置哪些文本框的其他属性才能使以下内容成为可能?

>盒子的宽度应该是固定的
>根据文本返回的大小自动调整框的高度,例如,如果文本运行到3行,则调整为3行高.

解决方法

请尝试以下代码
public partial class Form1 : Form
{
     private const int EM_GETLINECOUNT = 0xba;
     [DllImport("user32",EntryPoint = "SendMessageA",CharSet = CharSet.Ansi,SetLastError = true,ExactSpelling = true)]
     private static extern int SendMessage(int hwnd,int wMsg,int wParam,int lParam);


     public Form1()
     {
        InitializeComponent();
     }

     private void textBox1_TextChanged(object sender,EventArgs e)
     {
        var numberOfLines = SendMessage(textBox1.Handle.ToInt32(),EM_GETLINECOUNT,0);
        this.textBox1.Height = (textBox1.Font.Height + 2) * numberOfLines;
     }
}

相关文章

C#项目进行IIS部署过程中报错及其一般解决方案_c#iis执行语句...
微信扫码登录PC端网站应用的案例(C#)_c# 微信扫码登录
原文地址:http://msdn.microsoft.com/en-us/magazine/cc163...
前言 随着近些年微服务的流行,有越来越多的开发者和团队所采...
最近因为比较忙,好久没有写博客了,这篇主要给大家分享一下...
在多核CPU在今天和不久的将来,计算机将拥有更多的内核,Mic...