现在有个项目,其中一个TEXTBOX,设置了Multiline=True,WordWrap=True,当输入的字符超过textbox右边缘的时候会自动换到第二行,有个BUTTON是打印按钮,当textbox里面的内容打印在A4纸上的时候,两行内容其实是1行,也就是说在textbox里的时候看似好像换成了2行内容,其实还是1行。现在我要在textbox里面第一行最后加个【回车】,第二行最后加个【回车】,也就是每行后面加回车。(注意,TEXTBOX里面没有手工打过回车,所以无法用查找“'\n'”来获取总共有几行文字)

解决方案 »

  1.   

    // 同一个问题不用问两遍吧-_-!!!
    // 我也是刚玩C#,只是对API消息比较熟悉而已,所以能找到这个答案        [DllImport("User32.dll")]
            static extern int SendMessage(IntPtr hWnd, uint Msg,  int wParam, int lParam);
            [DllImport("User32.dll", EntryPoint = "SendMessage")]
            static extern int SendMessageBuffer(IntPtr hWnd, uint Msg, int wParam, StringBuilder lParam);
            private const int EM_GETLINECOUNT = 0x00BA;
            private const int EM_GETLINE = 0x00C4;
            private void button4_Click(object sender, EventArgs e)
            {
                StringBuilder vBuffer = new StringBuilder("\0xff\0x00", 256);
                int vCount = SendMessage(textBox1.Handle, EM_GETLINECOUNT, 0, 0);
                Text = vCount.ToString();
                for (int i = 0; i < vCount; i++)
                {
                    SendMessageBuffer(textBox1.Handle, EM_GETLINE, i, vBuffer);
                    richTextBox1.Text += vBuffer + "\r\n";
                }
            }