chr*_*hrs 11 c# rtf richtextbox bold winforms
我想创建一个文本编辑器,我可以在其中使文本变粗,更改其颜色等.
我发现这个代码大致有效:
public static void BoldSelectedText(RichTextBox control)
{
control.SelectionFont = new Font(control.Font.FontFamily, control.Font.Size, FontStyle.Bold);
}
Run Code Online (Sandbox Code Playgroud)
但是当我输入更多字母时RichTextBox,文字仍然是大胆的.
除非我选择文本并点击"Make Bold"按钮,否则我怎样才能使所选文本只是粗体而下一个字符不是?
Pat*_*ick 17
您应该在选择后将字体设置为原始字体.
如果你愿意,你可以保存SelectionStart和SelectionLength并调用Select方法再次选择文本.
// Remember selection
int selstart = control.SelectionStart;
int sellength = control.SelectionLength;
// Set font of selected text
// You can use FontStyle.Bold | FontStyle.Italic to apply more than one style
control.SelectionFont = new Font(control.Font, FontStyle.Bold);
// Set cursor after selected text
control.SelectionStart = control.SelectionStart + control.SelectionLength;
control.SelectionLength = 0;
// Set font immediately after selection
control.SelectionFont = control.Font;
// Reselect previous text
control.Select(selstart, sellength);
Run Code Online (Sandbox Code Playgroud)
这样文本保持选中状态,之后的字体仍然正确.
| 归档时间: |
|
| 查看次数: |
25854 次 |
| 最近记录: |