本帖最后由 QISIWOA 于 2009-09-28 14:21:01 编辑

解决方案 »

  1.   

    先把Multiline属性改为true
    然后把ScrollBars属性改为Vertical就会出现 滚动条
      

  2.   


    被迫无奈 Me.NotFocus() 啊 唉  道歉都来不及了 晕死 !
    我最后会不会被C友们说的跳湖投江蹦崖之类的自杀了?到此楼为主  大家就不要骂我了 能帮我的帮我下就是了  谢谢大家!
      

  3.   

    哈哈哈哈,CSDN简直太天涯了,笑死我了
    给分的原则,嗯,这句话说的真的很government
      

  4.   


    一看你都是混天涯的 你跑CSDN干什么啊 ==! 天涯没意思了就去mop吧 晕 成口水帖了 唉! 
      

  5.   


    就是不使用textbox自带的滚动条  给textbox两边加两个滚动条 用滚动条来操作textbox的上拉下拉 左拉右拉 理解吗?
      

  6.   

     楼主可以看下RichTextBox 怎么写得 就清楚自定义控件的做法
      

  7.   

    取Lines属性,每一个元素就是一行的文本,对这些文本执行Graphics.MeasureString方法。不过我还想说一句:我不喜欢这种标题。
      

  8.   


    我的问题不是自定义控件 只是 textbox怎么和VScrollBar关联 我先看看你说的再说
      

  9.   

    你熟悉控件也没必要这样啥直接用RichTextBox,何必用那个TextBox的
      

  10.   


    不是  现在又滚动条 也有 textbox  我就想把两个关联起来  让 滚动条控制textbox
      

  11.   

    你用JS+css吧,每种字号都有一个宽度和高度,当你得到了你需要的信息再往Tbox中添加时你判断一下会产生多少行,那么这样就可以知道是否需要滚动条。对于宽度,Tbox有宽度,你每行显示的应该有一个大概的字数,求出来比较就行了。
    不过这种比较费时间
      

  12.   


    我大概差不多半个多月没有上CSDN了。感觉和你一样!CSDN也许能算做是程序员的mop吧。
      

  13.   

    谁可以给我提示 我现在是这样写的  Private Sub VScrollBar1_Scroll(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles VScrollBar1.Scroll        VScrollBar1.Maximum = textbox1.TextLength  '文本的字符长度 怎么通过第多少个字符确定他的行数呢? 帮帮我!
            VScrollBar1.Minimum = 0
            RichTextBox1.Text += VScrollBar1.Value.ToString     End Sub
      

  14.   

    我也不太懂,
    我想可以到网上查一下,看看TextBox有没有属性是控件是否换行的,我记得好像是有,属性名应该是:WordWrapstring[] str_tmp=File.ReadAllLines(文件路径);
    int length=0;//TextBox单行最长的长度,用于赋值给HScrollBar
    for(int i=0;i<str_tmp.Length;i++)
    {
      if(str_tmp[i].Length>length)
      {
         length=str_tmp[i].Length;
      }
    }
      

  15.   

    补充多一点,要不TextBox文本设置为多行模式。属性是:Multiine
      

  16.   


    恩这个我知道 我现在算出了文本框的总行数  现在存在的问题是 怎么通过值来将文本框中对应的行数放在文本框的中间闻之呢?
    比如
    --------------------------------- |  |
    |                               | |  |
    |                               | |  |
    |                               | |  |
    |                               | |  |
    |                               | |■|
    |大家好我就是第八行的内容 谢谢  | |■|  现在滚动条的value是8 那么文本框中央应该是第八行!
    |                               | |  |  如果滚动条往下拉一下 那么此时位置的文本就是
    |                               | |  |  整个文本的第九行 怎么去做?谢谢了帮我想下!
    |                               | |  |
    |                               | |  |
    |                               | |  |
    --------------------------------- |  |
      

  17.   


    你用str_tmp.Length的值赋给VScrollBar就可以吧。
      

  18.   

    第一种方法:[DllImport("user32.dll")]
            public static extern IntPtr SendMessage( IntPtr hWnd, int Msg, int wParam, int lParam );//垂直滚动条移动时
    textBox1.Focus();
    int charIndex = (int)SendMessage(textBox1.Handle, 0x00BB, 你滚动条的值(第几行), 0);
    textBox1.SelectionStart = charIndex;
    textBox1.SelectionLength = 0;
    textBox1.ScrollToCaret();第二种方法:
    SendMessage(textBox1.Handle,   EM_LINESCROLL, n, n)
    第3个参数 为正: 向右滚动n列,反之向左
    第4个参数 为正: 向下滚动n行,反之向上下班了,不想因这事影响心情,给你个答案,把分散掉吧,我不是为分而来,怕再次被人误会,呵呵。
      

  19.   

    ............
    LZ 因为 1% 的不好 而否决了 99% 的好 ! 
    说实话 。我把所有回帖都看完了!!着实没看出 LZ 的歉意!!!
    LZ 自己 没做好人,别人说话难听点说你又怎么了,
    你做好了,别人还能那么说你么!!!
    首先LZ 的态度就 问题 大大的!!!
    ---------------------
    起码一点不论如何你来这发帖只要是技术贴 ,你都该给分的!!可是.....
    个人认为 此贴不值得回复。
      

  20.   

    0分贴已经有点不对了,再气急败坏就更没道理了。做人要厚道。偶也厚道一次,给你说说这个问题
    想把外部的滚动条心得绑定到textbox是不太可能的,而且也没有这个必要。如果一定要用外部的,就在 textbox 旁边加一个滚动条,并且为这个滚动条定义事件,在事件中用代码指定文本框显示到什么位置。我在picturebox上这么做过。如果感兴趣,给我EM,我发个工程文件给你。
      

  21.   


     txt.ScrollToCaret();
     txt.AppendText("XXXXX");