bạn nào rành về lập trình Window form cứu với!!!!!!

Thảo luận trong 'Lập trình & Đồ hoạ' bắt đầu bởi maianh_PL, 3/10/08.

  1. maianh_PL

    maianh_PL Mr & Ms Pac-Man

    Tham gia ngày:
    11/6/05
    Bài viết:
    112
    tình hình là em được giao cho bài tập quản lý sinh viên

    -em tính viết vậy
    -tạo một class hoc_sinh;
    class hos_sinh
    {
    string _msv;
    string _ten_sv;
    string _lop;
    public void nhap()
    {
    //bình thường em làm trên console thi em viết console.wirite("..."), rồi this._msv=console.readline("..."); giờ em viết trên window form em ko biết làm sao, cứu với??????????


    em đặt cái textbox họ tên là: txtten
    textbox msv=txtmsv;
    combobox lop=cbb_lop;
    làm ơn help em, em cần gấp lắm
    }


    thanks !!!
     
  2. thaitrung

    thaitrung Legend of Zelda

    Tham gia ngày:
    30/5/06
    Bài viết:
    926
    Nơi ở:
    CastleVania
    chán đời ko hỉu pa nói gì hết muốn nhận giá trị của cái textbox đó thì cứ việc :
    _msv = txtmsv.text; đơn giản
     
  3. maianh_PL

    maianh_PL Mr & Ms Pac-Man

    Tham gia ngày:
    11/6/05
    Bài viết:
    112
    mình viết
    this._msv=txtmsv.text hay _msv=txtmsv.text rồi
    ko chạy, lúc chạy nó báo lỗi.(the name "txtmsv" does not exist in the current context);
    bạn coi lại giùm mình nha
     
  4. thaitrung

    thaitrung Legend of Zelda

    Tham gia ngày:
    30/5/06
    Bài viết:
    926
    Nơi ở:
    CastleVania
    lỗi đó là do pa làm chứ ai , nó bá rõ là "txtmsv ko tồn tại" có nghĩa là pa đả ko đặt đúng tên cho textbox đó, coi lại đi, nhớt .Text chử T phai viet hoa
     
  5. maianh_PL

    maianh_PL Mr & Ms Pac-Man

    Tham gia ngày:
    11/6/05
    Bài viết:
    112
    àh, đã sữa xong .Text nhưng tình hình vẫn vậy, bạn mình đã chỉ cho một cách khác, đã giải quyết được, giờ có một vấn đề khác là

    hoc_sinh hs = new hoc_sinh();

    hs.nhap(txtmsv.Text, txtten.Text, cbb_lop.Text);

    lop_06k1.Add(hs);

    lúc em add vào ArrayList là một object "hs"

    EM MUỐN LẤY RA THÌ LAM VẬY CÓ ĐƯỢC KHÔNG

    for(int i=0;i<lop_06k1.count;i++)

    hoc_sinh hs = lop_06k1(i);<-- lấy lại thông tin học sinh ra, gán lại cho đối tượng học sinh

    ds_hs.Items.Add(hs.ten);<-- add tên của học sinh vào listbox



    khi chạy báo lỗi<---windowsApplication1.form2.lop_06k1 'is a field' but used like a 'method' mong thầy giúp em
     
  6. The Greek Warrior

    The Greek Warrior T.E.T.Я.I.S

    Tham gia ngày:
    28/4/02
    Bài viết:
    561
    Nơi ở:
    Caldeum
    Bạn không thể dùng lop_06k1(i) để lấy thông tin giống như cách làm với mảng được, vì lúc này lop_06k1 là 1 Object muốn tương tác với đối tượng thì phải dùng method của Object đó, không thể tương tác trực tiếp với biến thành viên được( nó thể hiện tính bao gói - Enscapsulation- của lập trình hướng đối tượng).

    Để lấy thông tin phải dùng một hàm dạnh như lop_06k1.get......
    giống như khi muốn thêm 1 học sinh vào thì bạn dùng hàm lop_06k1.add(hs);.
    Thân!
     
  7. maianh_PL

    maianh_PL Mr & Ms Pac-Man

    Tham gia ngày:
    11/6/05
    Bài viết:
    112
    xin bạn chỉ rõ hơn được không?

    hoc_sinh hs = lop_06k1(i);--> mình làm vậy là muốn lấy học sinh thứ i mà mình đã nạp vào array, giờ muốn lấy nó ra kiểu học sinh, bro chỉ rõ mình cách lấy được không, dang cần rất gấp:D cám ơn đã chỉ bảo
     
  8. The Greek Warrior

    The Greek Warrior T.E.T.Я.I.S

    Tham gia ngày:
    28/4/02
    Bài viết:
    561
    Nơi ở:
    Caldeum
    đối tượng lop_06k1 là một ArrayList .
    thay dòng này:
    hoc_sinh hs = lop_06k1(i);
    bằng dòng:
    hoc_sinh hs = lop_06k1.Item(i);

    và lưu ý dòng:
    ds_hs.Items.Add(hs.ten);

    member ten của hs phải là public để đảm bảo có thể truy xuất trong mọi trường hợp.
     

Chia sẻ trang này