一个textbox控件,一个ComboBox控件。
textbox控件为6位。前二位,是comboBox控件的SelectedValue的值。
当改变comboBox的值时,textbox前二位发生变化,后四位是手动修改。求代码嘿。

解决方案 »

  1.   

    可以拆开,前两位一个TextBox,后四位一个TextBox,最后两个TextBox合并起来就是结果。
      

  2.   

    ComboBox和TextBox并排放置,TextBox只输入后四位的值。
    保存的时候取出ComboBox的值和TextBox的值相加。
      

  3.   

    监测按键控制的变化,当产生KeyUp或KeyDown(不知道是哪一个,反正就是这两个)的时候作判断,如果更改的位数是第一、二位,返回FALSE
    否则返回TRUE
      

  4.   

    再说清楚一点吧,刚找了一下,在KeyDown中
    e.SuppressKeyPress = false; 这个允许输入
    e.SuppressKeyPress = true; 这个不允许输入上面是winform的webform是中onkeydown = return 函数名函数return true就是可以输入,return false就是不允许输入
      

  5.   

    预定TextChanged事件,然后在事件里面面加下面代码if (this.textBox1.Text.Length >= 2)
    {
    this.textBox1.Text = this.comboBox1.SelectedValue.ToString() + 
    this.textBox1.Text.Substring(2);
    }
    else
    {
    this.textBox1.Text = this.comboBox1.SelectedValue.ToString();
    }
      

  6.   

    最简单的就是使用两个textbox了,
    其次,使自定义用户控件了,也是放两个TextBox,不过用户控件的Text返回值可以自己处理
    效果最好的呢,利用重写OnTextChange方法咯。
    protected override void OnTextChanged(EventArgs e)
    {
    if(this.Text.StartsWith(HeadText))
    {
    base.OnTextChanged (e);
    }
    else
    {
    this.Text=HeadText;
                      this.Select(this.Text.Length,0);//光标置后
    }
    }
    其中HeadText就是传入的头两位数了。
    如果不想重写的话,使用TextChange事件也一样。
    不管WebForm还是WinForm都是一样效果。
      

  7.   

    自己写个控件吧。或者用两个TextBox控件。
      

  8.   

    我就纳闷了,我好几天了,为什么我的得分还是0呢。
    而且找了半天都没有找到,如何改我的昵称,比如jacksonjian (不说) 的
    [不说]怎么加上的,谁能说说[不说]怎么设置。
      

  9.   

    jickie() ( ) 信誉:100    Blog  2006-12-12 16:25:06  得分: 0  
     
     
       我就纳闷了,我好几天了,为什么我的得分还是0呢。
    而且找了半天都没有找到,如何改我的昵称,比如jacksonjian (不说) 的
    [不说]怎么加上的,谁能说说[不说]怎么设置。
      
     
    ============
    社区起点->我的技术社区->修改我的社区信息
      

  10.   

    可以使用 MaskedTextBox,动态修改它的Mask输入,将前两位固定
      

  11.   

    TO:mobydick(敌伯威|我排著队拿著爱的号码牌)
    ありがとうございます
      

  12.   

    自己做个用户控件吧,用textbox肯定是实现不了滴
      

  13.   

    1:要不就用2个textbox,
    2:要不就保存的时候直接+上前俩位
      

  14.   

    private string strPrv = "";//修改之前的字符串 private void textBox2_TextChanged(object sender, System.EventArgs e)
    {
    if(this.textBox2.Text.Trim().Length <= 2)
    {
    this.textBox2.Text = this.comboBox1.Text.Trim();
    }
    if(this.textBox2.Text.Trim().Length >= 2)
    {
    if((this.textBox2.Text.Trim().Length == strPrv.Length) && 
     (this.textBox2.Text.Trim().Substring(0,2)/*.ToUpper()*/ != this.strPrv.Substring(0,2)/*.ToUpper()*/))
    {
    this.textBox2.Text = strPrv;
    }
    else if((this.textBox2.Text.Trim().Length != strPrv.Length) && 
    (this.textBox2.Text.Trim().Substring(0,2)/*.ToUpper()*/ != this.strPrv.Substring(0,2)/*.ToUpper()*/))
    {
    this.textBox2.Text = strPrv;
    }
    }
    strPrv = this.textBox2.Text.Trim();
    }private void comboBox1_SelectedIndexChanged(object sender, System.EventArgs e)
    {
    if(this.textBox2.Text.Trim().Length > 2)
    {
    strPrv = this.comboBox1.Text.Trim() + this.textBox2.Text.Trim().Substring(2);
    }
    else
    {
    strPrv = this.comboBox1.Text.Trim();
    }
    this.textBox2.Text = strPrv;
    } 基本能实现你要的功能,有些特殊情况可能还需要做处理.
    另外,加上try  catch
      

  15.   

    if(this.textBox2.Text.Trim().Length >= 2)把 "="去掉
      

  16.   

    用      maskedTextBox  
    private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
            {
                this.maskedTextBox1.Mask = (this.comboBox1.Text.ToString().Substring(0, 2) + "AAAA");        }
      

  17.   

    "AAAA" ---->> "&&&&"
      

  18.   

    可以拆开,前两位一个TextBox,后四位一个TextBox,最后两个TextBox合并起来就是结果。就这样实现!!!别的方法不要再去考虑了~~~
      

  19.   

    这样长了啊,不知道还看的见不?
    在TextChang里面,
    word = TextBox1.Text[0]+TextBox.Text[1];
    if(word != ComboBox1.Text)
    {
      TextBox1.Text[0] = ComboBox1.Text[0];
      TextBox1.Text[1] = ComboBox1.Text[1];
    }
    当然,改ComboBox的时候也要改了.没有完善,LZ应该做个记录改前长度的,否则应该会"吃字"
      

  20.   

    function asdf()
    {
      if (event.keyCode==退格键码 && document.getElementById("textBoxID").value.length<=2)
      {
        return false;
      }
    }
    onKeyDown="asdf()";这样行不?