Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 13 kết quả

Đề tài: custom control trên C#?

  1. #1
    Ngày gia nhập
    03 2009
    Bài viết
    18

    Mặc định custom control trên C#?

    bạn nào biết dùng custom control để tạo label có các chữ là các màu khác nhau chỉ mình với . Cảm ơn các bạn nhiều

  2. #2
    Ngày gia nhập
    01 2008
    Bài viết
    148

    không biết ý của bạn có phải là tạo một user control có các ký tự khác nhau không,nếu như vậy thì bạn có thể làm thế này : for tới từng ky tự,rồi ứng với mỗi ký tự ta tạo một đt Label gán cho text của nó = ký tự đang xét,và gán màu chữ cho nó rand trong một khoảng nào đó.giờ có việc bận,hôm sau rảnh viết cho bạn sau

  3. #3
    Ngày gia nhập
    03 2009
    Bài viết
    18

    Trích dẫn Nguyên bản được gửi bởi thanhhuy191188 Xem bài viết
    không biết ý của bạn có phải là tạo một user control có các ký tự khác nhau không,nếu như vậy thì bạn có thể làm thế này : for tới từng ky tự,rồi ứng với mỗi ký tự ta tạo một đt Label gán cho text của nó = ký tự đang xét,và gán màu chữ cho nó rand trong một khoảng nào đó.giờ có việc bận,hôm sau rảnh viết cho bạn sau
    ý mình là tạo 1 label mà mỗi kí tự trong label là một màu khác nhau. giống như vậy nè

    abcde

  4. #4
    Ngày gia nhập
    01 2008
    Bài viết
    148

    thì ý trên của mình giống ý bạn nhưng do gỗ nhầm(hoa mắt hết lên rồi)
    Code:
    không biết ý của bạn có phải là tạo một user control có các ký tự khác nhau không,
    ==>
    Code:
    không biết ý của bạn có phải là tạo một user control có các ký tự có màu khác nhau không,
    cách giải wuyet theo mình thì dã dc trình bày ở trên
    hì mai hoc xong ở lại code rùi gữi cho bạn sau

  5. #5
    Ngày gia nhập
    03 2009
    Bài viết
    18

    cảm ơn Huy trước nha.

  6. #6
    Ngày gia nhập
    01 2008
    Bài viết
    148

    Mặc định custom control trên C#?

    ý tửng bên trên thực hiện thế này
    Visual C# Code:
    1. string text = label1.Text.Substring(0, label1.Text.Length);
    2.             Label[] lLabel = new Label[text.Length];
    3.             int i = 0;
    4.             int ToaDoTrai = 5;
    5.             int ToaDoTop = 10;
    6.             Random lRandom = new Random();
    7.             foreach (char c in text)
    8.             {
    9.                 lLabel[i] = new Label();
    10.                 lLabel[i].AutoSize = true;
    11.                 lLabel[i].BackColor = Color.Transparent;
    12.                 lLabel[i].Refresh();
    13.                 lLabel[i].Text = c.ToString();
    14.                 int chiSoMau1 = lRandom.Next(0, 255);
    15.                 int chiSoMau2 = lRandom.Next(100, 150);
    16.                 int chiSoMau3 = lRandom.Next(0, 50);
    17.                 lLabel[i].ForeColor = Color.FromArgb(chiSoMau1, chiSoMau2, chiSoMau3);
    18.                 lLabel[i].Location = new Point(ToaDoTrai, ToaDoTop);
    19.                 if (ToaDoTrai >= this.Width - 10)
    20.                 {
    21.                     ToaDoTrai = 5;
    22.                     ToaDoTop += lLabel[i].Height;
    23.                     if (ToaDoTop >= this.Height - 20)
    24.                         this.Height += lLabel[i].Height;
    25.                 }
    26.                 else
    27.                     ToaDoTrai += 9;
    28.  
    29.                 this.Controls.Add(lLabel[i]);
    30.                 i++;
    31.             }
    bạn coi đính kèm bên dưới nhé,cách này có vẻ hơi chuối nhưng dap ứng được yêu cầu của bạn
    Attached Files Attached Files

  7. #7
    Ngày gia nhập
    03 2009
    Bài viết
    18

    Trích dẫn Nguyên bản được gửi bởi thanhhuy191188 Xem bài viết
    ý tửng bên trên thực hiện thế này
    Visual C# Code:
    1. string text = label1.Text.Substring(0, label1.Text.Length);
    2.             Label[] lLabel = new Label[text.Length];
    3.             int i = 0;
    4.             int ToaDoTrai = 5;
    5.             int ToaDoTop = 10;
    6.             Random lRandom = new Random();
    7.             foreach (char c in text)
    8.             {
    9.                 lLabel[i] = new Label();
    10.                 lLabel[i].AutoSize = true;
    11.                 lLabel[i].BackColor = Color.Transparent;
    12.                 lLabel[i].Refresh();
    13.                 lLabel[i].Text = c.ToString();
    14.                 int chiSoMau1 = lRandom.Next(0, 255);
    15.                 int chiSoMau2 = lRandom.Next(100, 150);
    16.                 int chiSoMau3 = lRandom.Next(0, 50);
    17.                 lLabel[i].ForeColor = Color.FromArgb(chiSoMau1, chiSoMau2, chiSoMau3);
    18.                 lLabel[i].Location = new Point(ToaDoTrai, ToaDoTop);
    19.                 if (ToaDoTrai >= this.Width - 10)
    20.                 {
    21.                     ToaDoTrai = 5;
    22.                     ToaDoTop += lLabel[i].Height;
    23.                     if (ToaDoTop >= this.Height - 20)
    24.                         this.Height += lLabel[i].Height;
    25.                 }
    26.                 else
    27.                     ToaDoTrai += 9;
    28.  
    29.                 this.Controls.Add(lLabel[i]);
    30.                 i++;
    31.             }
    bạn coi đính kèm bên dưới nhé,cách này có vẻ hơi chuối nhưng dap ứng được yêu cầu của bạn
    Huy có thể giải thích một số chỗ trong code hok
    như là
    Visual C# Code:
    1. string text = label1.Text.Substring(0, label1.Text.Length);
    2. int toadotrai=5;
    3. int toadoTop=10;
    4.  lLabel[i].ForeColor = Color.FromArgb(chiSoMau1, chiSoMau2, chiSoMau3);
    càm ơn Huy nha.
    Đã được chỉnh sửa lần cuối bởi vanan3103 : 19-04-2009 lúc 10:43 AM.

  8. #8
    Ngày gia nhập
    03 2009
    Bài viết
    18

    ah cho mình hỏi : chữ được tô bóng là thuộc tính gì vậy

  9. #9
    Ngày gia nhập
    03 2009
    Bài viết
    18

    nhưng theo cách này thì khoảng cách giữa các từ là mình tự cho, có cách nào là tự động hok , vì khi mình chỉnh font chữ lớn lên thì khoảng cách giữa các từ không còn phù hợp

  10. #10
    Ngày gia nhập
    11 2007
    Nơi ở
    Biết để làm gì?
    Bài viết
    827

    Bạn thử dùng cách là dùng phương thức DrawString để vẽ ra chuỗi trên label xem. Đang bận,để lúc rảnh rảnh code cho bạn
    Cánh Chym ứ mỏi

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

  1. [WPF] Có thể Custom Control từ model, đặt Multilanguage cho RadPropertyGrid Ko?
    Gửi bởi nguyennhutoan trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 21-06-2013, 05:41 PM
  2. Tạo custom control với MFC như thế nào ?
    Gửi bởi thieugiabk trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 1
    Bài viết cuối: 04-10-2012, 03:44 PM
  3. Tạo Custom Control trong lập trình C#
    Gửi bởi haipk trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 02-05-2012, 07:43 PM
  4. Custom Control Listview???
    Gửi bởi hotanvu 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-2010, 12:58 AM
  5. Custom Control trong Asp.net?
    Gửi bởi xongvaoday trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 0
    Bài viết cuối: 16-09-2010, 10:32 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