我放了两个combobox分别来设置字体和字号,对于选中文本的设置没有什么问题,我想问下,如果我输入一段文本后,改变字体和字号,希望从该段文本后光标所在位置开始字体和字号根据刚刚的这个变化来设置,怎么改?主要程序大概如下,其中comFont和comSize是字体和字号的combobox       private void UpdateFont()
        {
            int fontSize=6;
            string fontType="宋体";
            if (comSize.SelectedIndex >= 0)
                fontSize = Convert.ToInt32(comSize.SelectedItem.ToString());
            if (comFont.SelectedIndex >= 0)
                fontType = comFont.SelectedItem.ToString();
            Font newFont = new Font(fontType, fontSize);
            rtbText.SelectionFont = newFont;
            rtbText.Focus();
        }        private void comFont_SelectedIndexChanged(object sender, EventArgs e)
        {
            UpdateFont();
        }        private void comSize_SelectedIndexChanged(object sender, EventArgs e)
        {
            UpdateFont();
        }

解决方案 »

  1.   

    继续调用
    richTextBox1.SelectionFont = new Font("Tahoma", 12, FontStyle.Bold);
                richTextBox1.SelectionColor = System.Drawing.Color.Black;
      

  2.   

    其实你这样写挺烦的  到不如这样写:
    需要用个trackbar控件咯  
    Font myfont=new System.Drawing.Font('字体',this.trackbar.value);this.combobox.text=myFont;
      

  3.   

    在选择完成后接着调用 
    richTextBox1.SelectionFont = new Font(comFont,comSize); 
    你试试看啊
      

  4.   

    我的意思是光标不选中任何文本了,只从Combobox中选择我要的字体和字号,然后从光标开始的位置开始输入文本,输入的文本就会使用所选择的字体和字号,这时候用SelectionFont行吗?
      

  5.   

    没什么需要改的啊,SelectionFont就是用来设置选中的文本或者是当前插入点的字体的.