2010-08-17 63 views
1
public class CustomEditor : Editor 
{ 
    protected override void Render(HtmlTextWriter writer) 
    { 
     Toolbar topToolbar = this.TopToolbar; 
     Collection<AjaxControlToolkit.HTMLEditor.ToolbarButton.CommonButton> buttons = topToolbar.Buttons; 

     foreach (AjaxControlToolkit.HTMLEditor.ToolbarButton.CommonButton button in buttons) 
     { 
      switch (button.GetType().Name) 
      { 
       case "Undo": 
        button.ToolTip = "Отменить ввод"; 
        break; 
       case "Redo": 
        button.ToolTip = "Повторить ввод"; 
        break; 
       // many others buttons 

       case "FixedForeColor": 
        button.ToolTip = "Цвет текста"; 
        break; 
       case "FixedBackColor": 
        button.ToolTip = "Цвет выделения текста"; 
        break; 
      } 
     } 
     base.Render(writer); 
    } 
} 

Almoust一切正常。問題出在按鈕「FixedForeColor」和「FixedBackColor」。他們的工具提示沒有改變(仍然是英文)。有沒有解決方法?在HtmlEditor中翻譯工具提示的問題(AjaxControlToolkit)

+0

如果您發現該解決方案,請發表解決方案的答案,然後將其標記爲已接受。 – Timwi 2010-08-17 23:59:34

回答

1

更簡單的方法:

您可以管理他們的索引號 所有按鈕下面你可以看到他們的索引號。

protected override void Render(HtmlTextWriter writer) 
{ 
    Toolbar topToolbar = this.TopToolbar; 
    Collection<AjaxControlToolkit.HTMLEditor.ToolbarButton.CommonButton> buttons = topToolbar.Buttons; 

    buttons[0].ToolTip = "My Lovely Undo"; 

    // Or you visible it 
    buttons[0].visible = false; 

    base.Render(writer); 
} 

/* List button index 
    [0]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.Undo} 
    [1]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.Redo} 
    [2]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.HorizontalSeparator} 
    [3]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.Bold} 
    [4]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.Italic} 
    [5]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.Underline} 
    [6]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.StrikeThrough} 
    [7]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.SubScript} 
    [8]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.SuperScript} 
    [9]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.HorizontalSeparator} 
    [10]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.Ltr} 
    [11]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.Rtl} 
    [12]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.HorizontalSeparator} 
    [13]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.FixedForeColor} 
    [14]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.ForeColorSelector} 
    [15]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.ForeColorClear} 
    [16]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.HorizontalSeparator} 
    [17]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.FixedBackColor} 
    [18]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.BackColorSelector} 
    [19]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.BackColorClear} 
    [20]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.HorizontalSeparator} 
    [21]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.RemoveStyles} 
    [22]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.HorizontalSeparator} 
    [23]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.FontName} 
    [24]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.HorizontalSeparator} 
    [25]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.FontSize} 
    [26]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.HorizontalSeparator} 
    [27]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.Cut} 
    [28]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.Copy} 
    [29]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.Paste} 
    [30]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.PasteText} 
    [31]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.PasteWord} 
    [32]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.HorizontalSeparator} 
    [33]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.DecreaseIndent} 
    [34]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.IncreaseIndent} 
    [35]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.HorizontalSeparator} 
    [36]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.Paragraph} 
    [37]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.JustifyLeft} 
    [38]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.JustifyCenter} 
    [39]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.JustifyRight} 
    [40]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.JustifyFull} 
    [41]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.RemoveAlignment} 
    [42]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.HorizontalSeparator} 
    [43]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.OrderedList} 
    [44]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.BulletedList} 
    [45]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.HorizontalSeparator} 
    [46]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.InsertHR} 
    [47]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.InsertLink} 
    [48]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.RemoveLink} 
*/ 
1

哦,是的。我找到了解決方案。這有點瘋狂(因爲我是新來的asp.net,我不知道如何正確地找到子控件)。

解決方案:使用工具提示進行顯示的控制要深得多。

case "FixedForeColor": 
    ((AjaxControlToolkit.HTMLEditor.ToolbarButton.MethodButton)button.Controls[0].Controls[0].Controls[0].Controls[0]).ToolTip = "Цвет текста"; 
    break; 
case "FixedBackColor": 
    ((AjaxControlToolkit.HTMLEditor.ToolbarButton.MethodButton)button.Controls[0].Controls[0].Controls[0].Controls[0]).ToolTip = "Цвет выделения текста"; 
    break; 

如果有人知道如何使它更容易,請評論。