我在做一个类似发送邮件的东东,但是碰到了这样一个问题:
邮件正文采用什么控件呢?因为在增加的时候,输入可能是多行输入,保存到数据库里,然后再取出来绑定到控件时也是多行显示。
我现在用的是textbox,却不行。
我在增加的时候,输入两行文字,保存成功,然后打开,发现两行并到一行了。
不知道textbox能不能实现多行编辑,多行显示的功能。
那么用listbox可以吗?
兄弟姐妹们有什么好的建议啊?

解决方案 »

  1.   

    设置textbox属性TextMode为MultiLine即可多行显示
      

  2.   

    FreeTextBox控件,可以支持html的编辑,网上可以免费下载,
      

  3.   

    设置textbox属性TextMode为MultiLine,不用listBox
      

  4.   

    弱弱地问一句:C#里的textbox最多能显示多少字符?
      

  5.   

    我已经设了textbox的multiselect为true了,但是我在编辑的时候,是多行,保存到数据库里,
    然后再读出来的时候,发现他们又并成一行了,怎么回事?怎么办?
      

  6.   

    你用的同一个textbox打开的吗?如果不是,那么从数据库读出来的这个textbox可能没有把multiline设为true。或者你保存到数据库的时候把\r\n给去掉了。
    你调试一下,看下保存的时候和从数据库取出来的有什么分别
      

  7.   

    应该替换  一下使两个替换函数  例如回车输入是\n  但是应该替换成<br>
    /// <summary>
    /// HTML encode
    /// </summary>
    /// <param name="str">string</param>
    /// <returns></returns>
    public static string Encode(string str)
    {
    str = str.Replace("&","&amp;");
    str = str.Replace("'","''");
    str = str.Replace("\"","&quot;");
    str = str.Replace(" ","&nbsp;");
    str = str.Replace("<","&lt;");
    str = str.Replace(">","&gt;");
    str = str.Replace("\n","<br>");
    return str;
    }

    /// <summary>
    /// decode
    /// </summary>
    /// <param name="str">string</param>
    /// <returns></returns>
    public static string Decode(string str)
    {
    str = str.Replace("<br>","\n");
    str = str.Replace("&gt;",">");
    str = str.Replace("&lt;","<");
    str = str.Replace("&nbsp;"," ");
    str = str.Replace("&quot;","\"");
    return str;
    }
      

  8.   

    谢谢无名。
    textbox字符显示,应该没有限制的吧。
    主要应该是数据库里的限制吧