Từ 1 tới 10 trên tổng số 10 kết quả

Đề tài: Tự phát sinh Textbox trong winform

  1. #1
    Ngày gia nhập
    08 2010
    Nơi ở
    TP.HCM
    Bài viết
    34

    Angry Tự phát sinh Textbox trong winform

    Mình có 1 text box N nếu mình nhập vào đó là 4. Thì nó sẽ tự động phát sinh ra cho mình 4 textbox bên dưới. Mấy bạn nào biết xin chỉ giúp mình hoặc có code cho mình tham khảo cũng được.

  2. #2
    Ngày gia nhập
    02 2008
    Nơi ở
    Việt Nam
    Bài viết
    577

    Dùng vòng lặp khởi tạo các texbox, nếu muốn design cho đẹp thì add text vào cái panel không thì add trực tiếp vào form
    Demo nhé:
    Visual C# Code:
    1. for (int i = 0; i < Convert.Int32(textBox1.Text); i++)
    2. {
    3.     TextBox tb = new TextBox();
    4.     tb.Name = "txtNew"+i.ToString();
    5.     //... các thuộc tính khác tham khảo trong phần code tự sinh, nên thêm Location và Size
    6.     // Đăng ký vào panel
    7.     this.panel1.Controls.Add(tb);
    8.     // Hoặc là add vào form như sau: this.Controls.Add(tb);
    9. }

  3. #3
    Ngày gia nhập
    02 2011
    Bài viết
    56

    Visual C# Code:
    1. Int16 TruocDo=0;
    2.         private void textBox1_TextChanged(object sender,EventArgs e)
    3.         {
    4.             Int16 BayGio=Convert.ToInt16(textBox1.Text);
    5.  
    6.             //Tạo mới
    7.             for(Int16 i=1;i<=(TruocDo>BayGio?TruocDo:BayGio);i++)//Duyệt từ textBox1 đến textBox(lớn nhất)
    8.                 if(this.Controls["textBox"+(i+1)]==null)//Số lượng textbox bên dưới ít hơn so với textBox1.Text
    9.                     TaoTextBoxBenDuoi((TextBox)this.Controls["textBox"+i],"textBox"+(i+1));
    10.                 else if(i>BayGio)//Số lượng textbox bên dưới nhiều hơn so với textBox1.Text thì xóa bớt
    11.                     this.Controls["textBox"+(i+1)].Dispose();
    12.  
    13.             TruocDo=BayGio;
    14.         }
    15.         private void TaoTextBoxBenDuoi(TextBox TextBoxBenTren,String TextBoxName)
    16.         {
    17.             TextBox tbx=new TextBox();
    18.             tbx.Top=TextBoxBenTren.Bottom+1;
    19.             tbx.Left=TextBoxBenTren.Left;
    20.             tbx.Width=TextBoxBenTren.Width;
    21.             tbx.Name=TextBoxName;
    22.             this.Controls.Add(tbx);
    23.         }

  4. #4
    Ngày gia nhập
    08 2010
    Nơi ở
    TP.HCM
    Bài viết
    34

    thanks các bạn nhiều....

  5. #5
    Ngày gia nhập
    08 2010
    Nơi ở
    TP.HCM
    Bài viết
    34

    Cho mình hỏi thêm bạn có biết cách tạo sự kiện PriewKeyDown & KeyDown của sự kiện TextBox trong 1 mảng Array không.
    Đã được chỉnh sửa lần cuối bởi kenzyler : 27-07-2011 lúc 03:25 PM.

  6. #6
    Ngày gia nhập
    05 2010
    Nơi ở
    Nha Trang, Khánh Hòa
    Bài viết
    103

    Mặc định Tự phát sinh Textbox trong winform

    Nếu như ý bạn là tất cả số Textbox đó đều thực hiện cùng 1 việc khi xảy ra 2 sự kiện trên thì trong đoạn code tạo các Textbox (cụ thể là phương thức TaoTextBoxBenDuoi) bạn thêm vào 2 dòng
    Visual C# Code:
    1. tbx.KeyDown+=new KeyEventHandler(thuchien_keydown);
    2. tbx.PreviewKeyDown+=new PreviewKeyDownEventHandler(thuchien_preview);
    sau đó khai báo 2 phương thức:
    Visual C# Code:
    1. void thuchien_keydown(object sender,KeyEventArgs e)
    2. {
    3.     //Your code here
    4. }
    Visual C# Code:
    1. void thuchien_preview(object sender,PreviewKeyDownEventArgs e)
    2. {
    3.     //Your code here
    4. }
    Ngày mai ra sao cũng chẳng biết nữa
    Mà có ra sao thì cũng chả sao

  7. #7
    Ngày gia nhập
    08 2010
    Nơi ở
    TP.HCM
    Bài viết
    34

    Cám ơn bạn hungphong10tin bạn có biết cách nào trong sự kiện keypriew ta lấy được giá trị name của thằng textbox phát sinh ko.
    VD:
    void thuchien_preview(object sender,PreviewKeyDownEventArgs e)
    {
    if(e.Keycode==Keys.Tab)
    {
    // Show lên tên name của textbox được tab tới
    }
    else if(e.Keycode==Keys.Bckspace)
    {
    // Show lên tên name của textbox được focus phía sau nó.

    }

    }
    // và KeyPriew này được thực hiện nhiều lần tương ứng với số n textbox đươc tạo ra.

  8. #8
    Ngày gia nhập
    05 2010
    Nơi ở
    Nha Trang, Khánh Hòa
    Bài viết
    103

    Zụ nhảy focus mình ko rành lắm ==
    Ngày mai ra sao cũng chẳng biết nữa
    Mà có ra sao thì cũng chả sao

  9. #9
    Ngày gia nhập
    08 2010
    Nơi ở
    TP.HCM
    Bài viết
    34

    dù sao thì cũng cám ơn bạn đã nhiệt tình giúp đỡ......

  10. #10
    Ngày gia nhập
    12 2007
    Bài viết
    52

    Trích dẫn Nguyên bản được gửi bởi kenzyler Xem bài viết
    Cám ơn bạn hungphong10tin bạn có biết cách nào trong sự kiện keypriew ta lấy được giá trị name của thằng textbox phát sinh ko.
    VD:
    void thuchien_preview(object sender,PreviewKeyDownEventArgs e)
    {
    if(e.Keycode==Keys.Tab)
    {
    // Show lên tên name của textbox được tab tới
    }
    else if(e.Keycode==Keys.Bckspace)
    {
    // Show lên tên name của textbox được focus phía sau nó.

    }

    }
    // và KeyPriew này được thực hiện nhiều lần tương ứng với số n textbox đươc tạo ra.
    void thuchien_preview(object sender,PreviewKeyDownEventArgs e)
    {
    TextBox abc = sender as TextBox;
    if(abc!=null)
    {
    //abc.Name
    }
    }

Các đề tài tương tự

  1. ADO.NET [Winform] Cách định dạng kiểu tiền tệ trong Textbox C#?
    Gửi bởi huynhthoaianh trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 11
    Bài viết cuối: 24-10-2014, 02:33 PM
  2. Lỗi về con trỏ chuột (cursor) trong textbox (Winform)
    Gửi bởi darkboys trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 0
    Bài viết cuối: 20-11-2013, 09:10 PM
  3. Viết tiếng việt trong textbox cho winform
    Gửi bởi nhatnghe_thuong trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 20
    Bài viết cuối: 07-05-2013, 09:11 AM
  4. Chỉ cho nhập 0 và 1 vào textbox, và gõ số mũ trong winform
    Gửi bởi kasparov trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 7
    Bài viết cuối: 07-12-2011, 08:23 PM
  5. Liên kết comboxbox và textbox trong winform C#?
    Gửi bởi vernonpham89 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 7
    Bài viết cuối: 05-04-2011, 06:17 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn