刚才一边查看源码一边在测试,发现freetextbox的backcolor属性更改之后好像无效的。
freetextbox.cs
public Color BackColor {
            get { 
                object savedState = this.ViewState["BackColor"];
                return (savedState == null) ? ColorTranslator.FromHtml("#F5F5F5") : (Color) savedState;
            }
            set {
                ViewState["BackColor"] = value;
            }
        }
下面这个是freetextbox整个表格的背景颜色,需要跟backcolor颜色一起使用 td." + base.ID + @"_TabOn {
    font: 8pt MS Sans Serif;
    padding:1px;
    padding-left:5px;
    padding-right:5px;
    border-left: 1 solid " + ColorTranslator.ToHtml(this.GutterBorderColorLight) + @";
    border-right: 1 solid " + ColorTranslator.ToHtml(this.GutterBorderColorDark) + @";
    border-top: 1 solid " + ColorTranslator.ToHtml(this.BackColor) + @";
    border-bottom: 1 solid " + ColorTranslator.ToHtml(this.GutterBorderColorDark) + @";
    background-color: " + ColorTranslator.ToHtml(this.BackColor) + @";
}

我在设计界面更改了freetextbox的backcolor为red(红色),但在运行的时候还是显示灰色按钮,然后没办法,就直接更改了它的属性
public Color BackColor {
            get { 
                object savedState = this.ViewState["BackColor"];
                return (savedState == null) ? ColorTranslator.FromHtml("#F5F5F5") : (Color) savedState;
            }
            set {
                ViewState["BackColor1"] = value;
            }
        }

这样在没有backcolor属性值也以我默认的颜色值来显示freetextbox背景颜色,狂晕当中……

二。图像的边框(当鼠标称动到表情上时该图像会有蓝色的边框,)

按此在新窗口打开图片
去除该边框要更改css样式的值
freetextbox.cs
td." + base.ID + @"_ButtonOver {
    border-top: 0 solid " + ColorTranslator.ToHtml(ButtonStyle.OverBorderColorLight) + @";    
    border-left:0 solid " + ColorTranslator.ToHtml(ButtonStyle.OverBorderColorLight) + @";
    border-right: 0 solid " + ColorTranslator.ToHtml(ButtonStyle.OverBorderColorDark) + @";
    border-bottom: 0 solid " + ColorTranslator.ToHtml(ButtonStyle.OverBorderColorDark) + @";
    " + ((ButtonStyle.OverBackColor != Color.Empty) ? "background-color: " + ColorTranslator.ToHtml(ButtonStyle.OverBackColor) + ";" : "") + @"
    font-family: MS Sans Serif;
    font-size: 10pt;
}
下面是最终效果图(是不是跟博客园 的html编辑器界面效果差不多呀

按此在新窗口打开图片


 


freetextbox控件:添加自定义按钮


 

昨天晚上研究了下freetextbox控件源码,发现添加按钮的都是ToolbarButton 类。比如,粗体,


public static ToolbarButton Bold {
            get {
                ToolbarButton button = new ToolbarButton("粗体","bold","FTB_Bold");
                button.ScriptBlock = @"<script language=""JavaScript"">
function FTB_Bold(editor,htmlmode) { 
    FTB_Format(editor,htmlmode,'bold'); 
}
</script>";
                return button;
            }
        }
我也按照它的示例也写了自定义按钮示例,但发现有几个疑问:
一。怎么样才能将自定义添加的按钮为一行(现在我的表情按钮跟粗体这些自带的按钮为一行,我想另外定义一行)
二。怎么样去除当鼠标移到按钮上时去除图片上的蓝色边框?

按此在新窗口打开图片