ASPxHtmlEditor 调整大小,其中包含文本

本文关键字:包含 文本 调整 ASPxHtmlEditor | 更新日期: 2023-09-27 18:30:50

我似乎找不到一种方法来调整ASPxHtmlEditor及其内部文本的大小。不应有滚动条,所有文本应始终可见。文本从隐藏的代码加载。因此,我键入的文本越多,控件应该越大。有人请帮忙。

编辑:文本在页面加载时是已知的,如果可能的话,这可以在服务器端完成。

 <dx:ASPxHtmlEditor ID="txtMessageBody" ClientInstanceName="txtMessageBody" runat="server"
                Height="50px" Width="740px" ActiveView="Preview">
                <Toolbars>
                </Toolbars>
                <Settings AllowHtmlView="false" AllowPreview="true" AllowDesignView="false" />
                <SettingsHtmlEditing EnterMode="BR"   />
 </dx:ASPxHtmlEditor>

ASPxHtmlEditor 调整大小,其中包含文本

所以我

设法找到了一种方法。不是最优雅的方式,但给了我我期望和需要的结果:

protected void Page_Load(object sender, EventArgs e)
{
    DataTable dtMsg = new DataTable();
    string strConn = cConnection.GetConnectionString();
    SqlConnection conn = new SqlConnection(strConn);
    SqlCommand sqlCMD = new SqlCommand("GetHomeMessage", conn);
    sqlCMD.CommandType = CommandType.StoredProcedure;
    sqlCMD.Parameters.Add("@Lang", SqlDbType.VarChar).Value = "Afrikaans";

    SqlDataAdapter sdaStat = new SqlDataAdapter(sqlCMD);
    sdaStat.Fill(dtMsg);
    if (dtMsg.Rows != null && dtMsg.Rows.Count > 0)
    {
        txtMessageBody.Html = dtMsg.Rows[0][0].ToString();
        MemoryStream stream = new MemoryStream();
        txtMessageBody.Export(DevExpress.Web.ASPxHtmlEditor.HtmlEditorExportFormat.Txt, stream);
        stream.Position = 0;
        StreamReader reader = new StreamReader(stream);
        string msgBody = reader.ReadToEnd();
        msgBody = msgBody.Trim();
        stream.Close();
        reader.Close();
        Font font = new Font("Arial", 16, FontStyle.Regular);
        Size size = TextRenderer.MeasureText(msgBody, font);
        txtMessageBody.Height = size.Height;
        txtMessageBody.SettingsResize.AllowResize = true;
        txtMessageBody.SettingsResize.MinWidth = 740;
    }
}