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

Đề tài: Lấy giá trị đã nhập vào TextBox trong C#

  1. #1
    Ngày gia nhập
    01 2011
    Nơi ở
    Hà Nội
    Bài viết
    188

    Mặc định Lấy giá trị đã nhập vào TextBox trong C#

    Nếu textBox được xây dựng trong khi làm giao diện bằng cách kéo thả thì mình dễ xác định
    Nhưng nếu mình tạo textbox trong quá trinh chạy chương trình thì mình chưa hiểu sẽ lấy giá tri của nó như thế nào :S
    Code:
    public int N;
            private void btnOK_Click(object sender, EventArgs e)
            {
                try
                {
                    N = Convert.ToInt32(txtSo.Text); //giá trị của N lấy từ textbox khi ngừoi dùng nhập vào
                    for (int i = 0; i < N; i++)  //Tạo ra N textbox
                    {
                        TextBox tr = new TextBox();
                        tr.Location = new Point(45 + (i - 1) * 35, 55);
                        tr.Name = ("btn" + i).ToString();
                        tr.Size = new Size(30, 20);
                        Controls.Add(tr);
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);              
                }
            }
    Mình định làm 1 cái ct mà khi người dùng nhập vào 1 số N nào đó thì nó sẽ hiện ra N textbox
    sau đó mình sẽ tính tổng của N textbox này. Mình tạo được N textbox rùi nhưng chưa biết cách lấy giá trị của các textbox đó thế nào.
    Mong mọi người chỉ giúp!

  2. #2
    Ngày gia nhập
    12 2009
    Nơi ở
    Hà Nội
    Bài viết
    535

    Visual C# Code:
    1. foreach (TextBox item in panel1.Controls)
    2. {
    3.         string s= item.text;
    4.         ........................
    5. }
    Ví dụ trên mình để textbox trong 1 panel. Bạn tự suy biến theo cách của bạn

  3. #3
    Ngày gia nhập
    01 2011
    Nơi ở
    Hà Nội
    Bài viết
    188

    Cảm ơn bạn đã trả lời mình!
    -Tiện thể bạn có thể cho mình biết làm sao có thể nhóm các textbox đó vào trong 1 panel koh? :|.
    -Nếu mình muốn lấy chĩnh xác từng textbox thì làm thế nào?(mình dùng bài này để làm bài về nhập ma trận cấp N, nên cần phải xác định được từng textbox để còn làm các thao tác trên ma trận nữa)

  4. #4
    Ngày gia nhập
    06 2009
    Nơi ở
    Cái hộp
    Bài viết
    1,256

    Bạn chỉ cần dựa vào tên của control để lấy được control đó trong container. Khi tạo nhớ đặt tên cho control đó là được.
    Men talk of killing time, while time quietly kills them.
    Time is what we want most, but what we use worst.
    ------------------------------
    YinYang's Programming Blog

  5. #5
    Ngày gia nhập
    01 2011
    Nơi ở
    Hà Nội
    Bài viết
    188

    Trích dẫn Nguyên bản được gửi bởi Yin Yang Xem bài viết
    Bạn chỉ cần dựa vào tên của control để lấy được control đó trong container. Khi tạo nhớ đặt tên cho control đó là được.
    Bạn nhìn trong code demo của mình đó
    mình đặt tên các textbox là tr.Name = ("btn" + i).ToString(); ko biết có dc ko :|
    sau đó mình viết hàm tính là: int Tong+=Convert.ToInt32((("btn" + i).ToString()).Text)
    Chắc là ko đúng nên nó báo lỗi :(
    hic!

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

    Mặc định Lấy giá trị đã nhập vào TextBox trong C#

    Visual C# Code:
    1.         private void Form1_Load(object sender, EventArgs e)
    2.         {
    3.             //TextBox lưu số N
    4.             TextBox txtSo = new TextBox();
    5.             txtSo.Dock = DockStyle.Top;
    6.             txtSo.Text = "5";
    7.             this.Controls.Add(txtSo);
    8.  
    9.             //Tạo Panel
    10.             Panel panel1 = new Panel();
    11.             panel1.Dock = DockStyle.Fill;
    12.             panel1.BackColor = Color.LightBlue;
    13.             panel1.BorderStyle = BorderStyle.Fixed3D;
    14.             this.Controls.Add(panel1);
    15.             panel1.BringToFront();
    16.  
    17.             //Thêm nhiều TextBox Trong Panel1
    18.             for (int i = 0; i < Convert.ToInt32(txtSo.Text); i++)  //Tạo ra N textbox
    19.             {
    20.                 TextBox tr = new TextBox();
    21.                 tr.Location = new Point(45 + (i - 1) * 35, 55);
    22.                 tr.Name = ("btn" + i).ToString();
    23.                 tr.Size = new Size(30, 20);
    24.                 tr.Text = i.ToString();
    25.                 panel1.Controls.Add(tr);
    26.             }
    27.  
    28.             //Đọc số từ TextBox
    29.             Int32 Tong = 0;
    30.             String KQ = "TextBox\tText";
    31.             for (Int32 i = 0; i < panel1.Controls.Count; i++)
    32.                 if (panel1.Controls[i].Name.Substring(0, 3) == "btn")
    33.                 {
    34.                     KQ += "\n" + panel1.Controls[i].Name + "\t" + panel1.Controls[i].Text;
    35.                     Tong +=Convert.ToInt32(panel1.Controls[i].Text);
    36.                 }
    37.             KQ += "\nTổng:\t" + Tong.ToString();
    38.             MessageBox.Show(KQ);
    39.         }

  7. #7
    Ngày gia nhập
    01 2011
    Nơi ở
    Hà Nội
    Bài viết
    188

    Cảm ơn mọi người đã xem giúp.

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

  1. Chỉ cho phép nhập số vào textbox trong lập trình C#
    Gửi bởi neverland87 trong diễn đàn Tutorials và Thủ thuật lập trình C#, ASP.NET
    Trả lời: 59
    Bài viết cuối: 07-07-2012, 07:53 AM
  2. Game Cách nhập chữ vào textbox trong XNA
    Gửi bởi viet013 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 11-04-2012, 07:22 PM
  3. Trả lời: 14
    Bài viết cuối: 10-10-2011, 03:58 PM
  4. Code cho ẩn kí tự khi nhập password vào textbox trong form đăng nhập
    Gửi bởi mrkiemhiep trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 6
    Bài viết cuối: 16-03-2011, 11:10 PM
  5. Chỉ cho nhập số vào textbox trong lập trình C#?
    Gửi bởi ngoctuqb trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 7
    Bài viết cuối: 24-11-2008, 09:40 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