有两个richtextbox,在一个里面apptext后,如何把焦点转到另一个,同时,我要在同一个richtextbox 里面显示文字时,可以做到显示不同的颜色和字体么?应该如何实现?

解决方案 »

  1.   

    有两个richtextbox,在一个里面apptext后,如何把焦点转到另一个
    ----------------------
    richTextBox1.AppendText("test");
    richTextBox2.Focus();
    我要在同一个richtextbox 里面显示文字时,可以做到显示不同的颜色和字体么?应该如何实现?
    ----------------------
    简单点的,这样if (richTextBox1.SelectedText.Length > 0)
        richTextBox1.SelectionColor = Color.Red;这是设置颜色,设置字体用richTextBox1.SelectionFont
      

  2.   

    Control.focus——对控件设置焦点;色彩;仿照我的Richtextbox控件;======================================================
    博客空间:http://blog.csdn.net/lovingkiss
    资源下载:http://download.csdn.net/user/lovingkiss
    Email:loving-kiss@163.com
    本人说明:<我的帖子我做主,结贴率保持100%>
    大碗喝酒,静心做事,张嘴骂人,没事找事,只限网络 ^_^
    ======================================================
      

  3.   

    Dim MyDialog As New ColorDialog()
            MyDialog.AllowFullOpen = True
            MyDialog.ShowHelp = True
            MyDialog.Color = RichTextBox.SelectionColor
            If (MyDialog.ShowDialog() = DialogResult.OK) Then
                RichTextBox.SelectionColor = MyDialog.Color
            End If弹出选择色彩,并设置;
      

  4.   


        ''' <summary>
        ''' 改变字体!
        ''' </summary>
        ''' <param name="FontFamily"></param>
        ''' <res></res>
        Sub ChangeFont(ByVal FontFamily As String)
            Try
                Dim rtbstart As Integer = RichTextBox.SelectionStart
                Dim SelectLen As Integer = RichTextBox.SelectionLength
                Dim rtbTempStart As Integer = 0
                If SelectLen <= 1 And Not (RichTextBox.SelectionFont Is Nothing) Then
                    RichTextBox.SelectionFont = New Font(FontFamily, RichTextBox.SelectionFont.Size, RichTextBox.SelectionFont.Style)
                Else
                    rtbTemp.Rtf = RichTextBox.SelectedRtf
                    For II = 0 To SelectLen - 1
                        rtbTemp.Select(rtbTempStart + II, 1)
                        rtbTemp.SelectionFont = New Font(FontFamily, rtbTemp.SelectionFont.Size, rtbTemp.SelectionFont.Style)
                    Next
                    rtbTemp.Select(rtbTempStart, SelectLen)
                    RichTextBox.SelectedRtf = rtbTemp.SelectedRtf
                    RichTextBox.Select(rtbstart, SelectLen)
                End If
            Catch ex As Exception
                MsgBox("不支持该特殊字体!或者异常错误。详细信息如下:" & vbCrLf & ex.Message, MsgBoxStyle.Information Or MsgBoxStyle.OkOnly, "提示:")
            End Try
        End Sub======================================================
    博客空间:http://blog.csdn.net/lovingkiss
    资源下载:http://download.csdn.net/user/lovingkiss
    Email:loving-kiss@163.com
    本人说明:<我的帖子我做主,结贴率保持100%>
    大碗喝酒,静心做事,张嘴骂人,没事找事,只限网络 ^_^
    ======================================================
      

  5.   

    设置颜色
                ColorDialog colorDig = new ColorDialog();
                if (colorDig.ShowDialog() == DialogResult.OK)
                {
                    richTextBox1.SelectionColor = colorDig.Color;
                }设置字体
                FontDialog fontDig = new FontDialog();
                if (fontDig.ShowDialog() == DialogResult.OK)
                {
                    richTextBox1.SelectionFont = fontDig.Font;
                }
      

  6.   

    (过客)你的方法错,谢谢
    但focus()没法进行焦点的转移,光标还是在第一个richtextbox 上,我要的是把光标也移到第二个richtextbox,弄完这个结贴
      

  7.   

    AppendText是在什么事件里,贴下你的代码
      

  8.   

    richTextBox1.AppendText("test");
    richTextBox2.Focus();如果你的代码没有问题,焦点不可能不转移,我刚刚又试验了一下,完全好用;
    (请确定richTextBox2的只读、允许等属性是否设置;)======================================================
    博客空间:http://blog.csdn.net/lovingkiss
    资源下载:http://download.csdn.net/user/lovingkiss
    Email:loving-kiss@163.com
    本人说明:<我的帖子我做主,结贴率保持100%>
    优惠接单,各类软件,欢迎咨询QQ 66840199 信誉保证
    ======================================================
      

  9.   

    this.richTextBox1.AppendText("aaaaa");
                this.richTextBox1.Select(richTextBox1.TextLength, 0);
                this.richTextBox1.ScrollToCaret();this.richTextBox2.Foucs();richtextbox1是要实现自动滚到当前最新位置的,我这的结果是,richtextBox1 能滚到最新位置,但焦点,无法转到richtextbox2
      

  10.   

    this.richTextBox2.Foucs();
    ---->
    this.richTextBox2.Focus();测试没问题的,在什么事件里,richTextBox2相关属性是否改动了,删除这个,重新拖一个richTextBox2进来试下
      

  11.   

    Focus只能在只有两个richtextBox的窗口中实现,还有别的话,它会把焦点移到下一个控件上,而不是richtextbox
      

  12.   

    构造方法?new的时候就进行焦点转让??这是不行的,Load事件之前不要进行焦点转移操作;焦点操作一定要至少放在Shown事件后,这是窗体生存周期决定的;谁也没脾气;窗体还没有出来呢,控件界面没有产生,你把焦点给谁??如果一定要出现后Richtextbox2获得焦点,请把它的tabindex=0;======================================================
    博客空间:http://blog.csdn.net/lovingkiss
    资源下载:http://download.csdn.net/user/lovingkiss
    Email:loving-kiss@163.com
    本人说明:<我的帖子我做主,结贴率保持100%>
    优惠接单,各类软件,欢迎咨询QQ 66840199 信誉保证
    ======================================================
      

  13.   

    lxcnn(过客) ,再抢分砸嫩家锅去,呵呵~~//Focus只能在只有两个richtextBox的窗口中实现,还有别的话,它会把焦点移到下一个控件上,而不是richtextbox所以说构造方法中不要进行焦点操作,没用,它产生是靠tabindex来控制的——在窗体生成前;======================================================
    博客空间:http://blog.csdn.net/lovingkiss
    资源下载:http://download.csdn.net/user/lovingkiss
    Email:loving-kiss@163.com
    本人说明:<我的帖子我做主,结贴率保持100%>
    优惠接单,各类软件,欢迎咨询QQ 66840199 信誉保证
    ======================================================