Bí kíp mới cho C#.

Thảo luận trong 'Lập trình & Đồ hoạ' bắt đầu bởi Tử_Kiệt, 1/12/06.

  1. Tử_Kiệt

    Tử_Kiệt Youtube Master Race

    Tham gia ngày:
    29/8/06
    Bài viết:
    27
    - Tui mong muốn có một chuyên mục cho "C # Tips"(Cũng có lúc muốn làm một thằng Web...). Thôi bà kon nào có ý kiến nào hay, tui xin ủng hộ. Đây tui cũng có một số 'tip' muốn chia sẽ với bà kon. Mong bà kon đừng cười chê.

    //Email:the_tu_kiet@yahoo.com!

    1. Nếu bạn nào từng khổ sở khi cần 'bắt' một số thông tin liên quan đến Control trong hàm sự kiện của chính nó như tui, thì đây là "cứu cánh"!

    Ví dụ: Tui có một mảng các Label động N phtử(sẽ khởi tạo trong lúc chạy chương trình!), các Label này có chung 1 hàm cho sự kiện "Click". Khi bạn click lên thằng nào thì thằng đó khai tên của mình chẳng hạn...

    - Code:
    private void My_Label_Clicked(object sender, EventArgs e)
    {
    Control ex = (Control)sender;
    MessageBox.Show(""+ ex.Name); //!!!
    }
    2...
    3...
     
  2. Tử_Kiệt

    Tử_Kiệt Youtube Master Race

    Tham gia ngày:
    29/8/06
    Bài viết:
    27
    2. Bạn có hay dùng từ khóa "goto" trong C# không?
    - Nếu bạn có dùng thì khi bạn muốn "ngắt" để chạy đến cuối một hàm(tạm gọi là vậy), nơi mà không còn câu lệnh nào bên dưới thì sao?
    Vdu:
    void Test()
    {
    try
    {
    int t =int t = (int)System.Console.In.ReadLine();
    }
    catch
    {
    System.Console.Out.WriteLine("Khong phai so");
    }
    if(t==0)
    goto Thoat;
    if(t%2 == 0)
    System.Console.Out.WriteLine("So Chan");
    else
    System.Console.Out.WriteLine("So Le");

    Thoat: // <- C# sẽ báo lỗi tại đây!
    }
    Lúc này bạn sẽ làm gì? Tôi thì thêm cặp "{}" vào. -> Thoat:{}//!
    Nếu bạn có cách hay hơn xin chỉ giáo!
     
  3. Tử_Kiệt

    Tử_Kiệt Youtube Master Race

    Tham gia ngày:
    29/8/06
    Bài viết:
    27
    2. Bạn có hay dùng từ khóa "goto" trong C# không?
    - Nếu bạn có dùng thì khi bạn muốn "ngắt" để chạy đến cuối một hàm(tạm gọi là vậy), nơi mà không còn câu lệnh nào bên dưới thì sao?
    Vdu:
    void Test()
    {
    try
    {
    int t =int t = (int)System.Console.In.ReadLine();
    }
    catch
    {
    System.Console.Out.WriteLine("Khong phai so");
    }
    if(t==0)
    goto Thoat;
    if(t%2 == 0)
    System.Console.Out.WriteLine("So Chan");
    else
    System.Console.Out.WriteLine("So Le");

    Thoat: // <- C# sẽ báo lỗi tại đây!
    }
    Lúc này bạn sẽ làm gì? Tôi thì thêm cặp "{}" vào. -> Thoat:{}//!
    Nếu bạn có cách hay hơn xin chỉ giáo!
     
  4. ZeroCrazy

    ZeroCrazy T.E.T.Я.I.S

    Tham gia ngày:
    8/4/06
    Bài viết:
    516
    Nơi ở:
    hỏi làm chi ?
    Chỗ ấy không nên dùng lệnh goto, mà dùng lệnh return:
    if(t == 0) return;

    Lâu lắm mới thấy chủ đề về C#, hãy post nhiều bài lên nhe bạn.
     
  5. Tử_Kiệt

    Tử_Kiệt Youtube Master Race

    Tham gia ngày:
    29/8/06
    Bài viết:
    27
    Bạn ZeroCrazy ơi, ở đây là tui ví dụ thôi(có thể là không hợp lý lắm!). Mục đích chính là tui muốn nói đến ví trí đặt cái Label "Thoat" ở cuối kìa. Dù sao cũng cảm ơn bạn góp í!
     
  6. Tử_Kiệt

    Tử_Kiệt Youtube Master Race

    Tham gia ngày:
    29/8/06
    Bài viết:
    27
    3. Các kiểu "Éf kiểu" trong C#. Cái này chắc là whá cơ bản rùi.
    - Ở đây tui xin lấy ví dụ ép một chuổi(string) -> số nguyên(int) dĩ nhiên là với đkiện cho féb.

    string str ="123"; //Chuoi minh se dung!

    a. int t = (int)str;
    b. int t = Convert.ToUInt16(str);
    c. int t = int.Parse(str);

    //----------------------------------***----------------------------------//

    4. Bạn đã từng dùng hàm Slip cho 1 "string" chưa. Chẳng hạn như là để lấy file name của một "path".

    - Nhân tiện nói về "path" trong C# tôi xin nói luôn. Khi bạn cần khai báo một "path" dạng chuỗi(đại loại như dùng để kết nối...) bạn phải thay dấu "\" bằng "\\".

    Ví dụ: string my_path = "C:\\My Documents\\book1.doc";

    Nhưng khi bạn get một chuỗi trong lúc chạy chương trình(có thể là từ một control trả về, bạn lại nhận một chuỗi "path" bình thường: "C:\My Documents\book1.doc"...ngộ thiệt!).
    - Trở lại vấn đề chính. Lúc này ta có thể khai báo một mảng kiểu string và...

    string[] ar = my_path.Split('\\'); //-> chú ý dấu(') chứ không phải(")!
    MessageBox.Show(ar[ar.Length -1]); // -> Filename + Extension
    MessageBox.Show(my_path.Split('\\')[my_path.Split('\\').Length -1]);//Cái này thì -> ngay khỏi cần dùng mảng phụ!

    Chủ đề kỳ tới: Bạn có bao giờ lập trình C# dzới Excel chưa!...
    Tôi xin nhắc lại. Mục đích tui xây dựng chủ đề này là để chúng ta có nơi để cùng học hỏi lẫn nhau, chứ không hề có ý khác...Mong chư vị ủng hộ!

    Thân
    Tử Kiệt​
     
  7. Tử_Kiệt

    Tử_Kiệt Youtube Master Race

    Tham gia ngày:
    29/8/06
    Bài viết:
    27
    - Vì bức xúc, tui mới vừa viết xong một thằng AutoTextBox(simple nhưng cũng xịn lắm!). Bà kon ai có nhu cầu xin liên hệ: Email: the_tu_kiet@yahoo.com / thetukiet@gmail.com!
    - Đây là mô tả của thằng Control(file thư viện .dll) này:
    +/ Thành phần chính: 1 TextBox + 1 ListBox.
    +/ Chức năng: Hỗ trợ list các mẫu tin liên quan đến từ mình đang tham chiếu(gõ!).
    +/ Hoạt động: Khi ta đang gõ ở Textbox(lúc này chỉ là TextBox) nếu từ nào trong DataTable(một Propertise đi kèm) có liên quan đến từ ta đang gõ sẽ được lọc hết ra ListBox(và lúc này listbox sẽ xổ xuống) -> tha hồ chọn. Tui cũng đã "canh" kỹ hết những "Event" để có thể dùng tiện lợi! Đó chỉ thế thôi(dĩ nhiên là những Propertise vốn có cũng được sử dụng lại: font, BoderStyle, Backcolor...)
    +/ Danh sách các Propertise: ....!

    - Tui cũng định view Code lên đây cho bà kon xem chơi nhưng mà dở whá không biết cách(nếu Add chung dzô bài này thì đố ai dzòm được! Thôi có vị nào chỉ hộ)

    Thân!
    Tử Kiệt
     

Chia sẻ trang này