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

Đề tài: Bài pha màu đỏ lục lam trong C# Chạy 2 chiều không được

  1. #1
    Ngày gia nhập
    09 2011
    Nơi ở
    Registry
    Bài viết
    43

    Mặc định Bài pha màu đỏ lục lam trong C# Chạy 2 chiều không được

    Em làm bài pha màu đỏ lục lam bằng 3 thanh vscollBar. Mỗi thanh tượng trưng cho 1 màu vsDo=thanh màu đỏ,vsLam=thanh màu lam và vsLuc=thanh màu lục. và 2 nút radioButtion, nút thứ nhất là Chạy một chiều, nút thứ 2 là Chạy 2 chiều.
    Đây là code em viết cho nó chạy 1 và 2 chiều. Khi check vào nút chạy 1 chiều thì chạy tốt nhưng check vào nút chạy 2 chiều thì lại không chạy được, mong các anh chị giúp đỡ ạh
    Visual C# Code:
    1. private void timer1_Tick(object sender, EventArgs e)
    2.         {
    3.             if(radioButton1.Checked)
    4.             {
    5.  
    6.                 if (vSDo.Value + 1 <= vSDo.Maximum)
    7.                     vSDo.Value = vSDo.Value + 1;
    8.                 else
    9.                     vSDo.Value = 0;
    10.                 if (vSLuc.Value + 5 <= vSLuc.Maximum)
    11.                     vSLuc.Value = vSLuc.Value + 5;
    12.                 else
    13.                 {
    14.                     vSLuc.Value = 0;
    15.                 }
    16.                 if (vSLam.Value + 10 <= vSLam.Maximum)
    17.                     vSLam.Value = vSLam.Value + 10;
    18.                 else
    19.                 {
    20.                     vSLam.Value = 0;
    21.                 }
    22.             }
    23.            
    24.             else
    25.             {
    26.                 bool xuongduoi = true;
    27.                 if (xuongduoi == true)
    28.                 {
    29.                     if (vSDo.Value + 1 <= vSDo.Maximum)
    30.                         vSDo.Value =vSDo.Value + 1;
    31.                     else xuongduoi = false;
    32.                 }
    33.                 else//len tren
    34.                 {
    35.                     if (vSDo.Value - 1 >=vSDo.Minimum)
    36.                         vSDo.Value = vSDo.Value - 1;
    37.                     else xuongduoi = true;
    38.                 }
    39.                 if (xuongduoi == true)
    40.                 {
    41.                     if (vSLuc.Value + 5 <= vSLuc.Maximum)
    42.                         vSLuc.Value += 5;
    43.                     else xuongduoi = false;
    44.                 }
    45.                 else//len tren
    46.                 {
    47.                     if (vSLuc.Value - 5 >= vSLuc.Minimum)
    48.                         vSLuc.Value = vSLuc.Value - 5;
    49.                     else xuongduoi = true;
    50.                 }
    51.                 if (xuongduoi == true)
    52.                 {
    53.                     if (vSLam.Value + 10 <= vSLam.Maximum)
    54.                         vSLam.Value += 10;
    55.                     else xuongduoi = false;
    56.                 }
    57.                 else//len tren
    58.                 {
    59.                     if (vSLam.Value - 10 >= vSLam.Minimum)
    60.                         vSLam.Value = vSLam.Value - 10;
    61.                     else xuongduoi = true;
    62.                 }
    63.             }
    64.         }
    em có gửi kèm bài làm ở bên dưới luôn ak
    Attached Files Attached Files
    Đã được chỉnh sửa lần cuối bởi nhatminh266 : 16-09-2011 lúc 11:39 PM.

  2. #2
    Ngày gia nhập
    09 2011
    Nơi ở
    Registry
    Bài viết
    43

    sao không có pro nào chỉ em hết vậy?

  3. #3
    Ngày gia nhập
    09 2011
    Nơi ở
    TP Hồ Chí Minh
    Bài viết
    37

    Mặc định thêm kiểm tra checkbox

    Tham khảo cái này nhé:
    Visual C# Code:
    1.         bool doDown = true;
    2.         bool lucDown = true;
    3.         bool lamDown = true;
    4.         private void timer1_Tick(object sender, EventArgs e)
    5.         {
    6.             if (radioButton1.Checked)
    7.             {
    8.                 if (vSDo.Value >= vSDo.Maximum)
    9.                 {
    10.                     vSDo.Value = 0;
    11.                 }
    12.                 vSDo.Value += checkBox1.Checked ? 1 : 0;
    13.  
    14.                 if (vSLuc.Value >= vSLuc.Maximum)
    15.                 {
    16.                     vSLuc.Value = 0;
    17.                 }
    18.                 vSLuc.Value += checkBox2.Checked ? (vSLuc.Maximum - vSLuc.Value < 5 ? (vSLuc.Maximum - vSLuc.Value) : 5) : 0;
    19.  
    20.                 if (vSLam.Value >= vSLam.Maximum)
    21.                 {
    22.                     vSLam.Value = 0;
    23.                 }
    24.                 vSLam.Value += checkBox3.Checked ? (vSLam.Maximum - vSLam.Value < 10 ? (vSLam.Maximum - vSLam.Value) : 10) : 0;
    25.             }
    26.             else
    27.             {
    28.                 if (vSDo.Value == 0)
    29.                 {
    30.                     doDown = true;
    31.                 }
    32.                 else if (vSDo.Value == vSDo.Maximum)
    33.                 {
    34.                     doDown = false;
    35.                 }
    36.                 if (vSLuc.Value == 0)
    37.                 {
    38.                     lucDown = true;
    39.                 }
    40.                 else if (vSLuc.Value == vSLuc.Maximum)
    41.                 {
    42.                     lucDown = false;
    43.                 }
    44.                 if (vSLam.Value == 0)
    45.                 {
    46.                     lamDown = true;
    47.                 }
    48.                 else if (vSLam.Value == vSLam.Maximum)
    49.                 {
    50.                     lamDown = false;
    51.                 }
    52.  
    53.                 vSDo.Value += checkBox1.Checked ? (doDown ? 1 : -1) : 0;
    54.  
    55.                 int intLuc, intLam;
    56.  
    57.                 if (lucDown)
    58.                 {
    59.                     intLuc = (vSLuc.Maximum - vSLuc.Value < 5 ? (vSLuc.Maximum - vSLuc.Value) : 5);
    60.                 }
    61.                 else
    62.                 {
    63.                     intLuc = (vSLuc.Value - vSLuc.Minimum < 5 ? (vSLuc.Value - vSLuc.Minimum) : 5) * -1;
    64.                 }
    65.                 vSLuc.Value += checkBox2.Checked ? intLuc : 0;
    66.  
    67.                 if (lamDown)
    68.                 {
    69.                     intLam = (vSLam.Maximum - vSLam.Value < 10 ? (vSLam.Maximum - vSLam.Value) : 10);
    70.                 }
    71.                 else
    72.                 {
    73.                     intLam = (vSLam.Value - vSLam.Minimum < 10 ? (vSLam.Value - vSLam.Minimum) : 10) * -1;
    74.                 }
    75.                 vSLam.Value += checkBox3.Checked ? intLam : 0;
    76.             }
    77.         }
    78.  
    79.         private void radioButton1_CheckedChanged(object sender, EventArgs e)
    80.         {
    81.             vSDo.Value = 0;
    82.             vSLuc.Value = 0;
    83.             vSLam.Value = 0;
    84.         }
    Chỉ thêm 3 biến cho dễ điều khiển. Và thêm một hàm reset value về 0 khi thay đổi kiểu chạy.
    p/s: if else nhiều quá mệt thiệt
    Đã được chỉnh sửa lần cuối bởi haiduong87 : 18-09-2011 lúc 06:11 PM. Lý do: thêm code
    p/s: ta là gấu

  4. #4
    Ngày gia nhập
    09 2011
    Nơi ở
    Registry
    Bài viết
    43

    cảm ơn bạn nhiều nha, mình làm được rồi. Bạn có thể giúp mình làm thêm 3 nút checkbox cho 3 thanh vscrollBar được không? Nếu check vào nút nào thì thanh đó chạy còn ngược lại thì không. Cảm ơn trước nha!

  5. #5
    Ngày gia nhập
    09 2011
    Nơi ở
    TP Hồ Chí Minh
    Bài viết
    37

    Kiểm tra lại nhé, mình vừa update code.
    p/s: ta là gấu

  6. #6
    Ngày gia nhập
    09 2011
    Nơi ở
    Registry
    Bài viết
    43

    Mặc định Bài pha màu đỏ lục lam trong C# Chạy 2 chiều không được

    cảm ơn bạn nhìu nha!
    C++ Code:
    1. int BanHoc=1, BanBiet=10;
    2.     if(BanHoc==0)
    3.         cout <<"Ban nen di hoc!";
    4.     else
    5.         if(BanBiet==10)
    6.             cout <<"Ban qua pro!";

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

  1. CODE về mảng 1 chiều không chạy được
    Gửi bởi sap trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 09-04-2013, 11:58 PM
  2. Trả lời: 1
    Bài viết cuối: 28-04-2012, 09:43 PM
  3. Bản chất các phép cộng, trừ, nhân, chia trên máy tính?
    Gửi bởi nang trong diễn đàn Thắc mắc chung
    Trả lời: 2
    Bài viết cuối: 02-10-2011, 09:14 AM
  4. Bài tập C Cộng, trừ, nhân, chia hai số nhị phân dấu chấm động 32bit
    Gửi bởi babychip1506 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 15-04-2011, 04:25 PM
  5. Bài tập C Lổi khi chạy mảng 2 chiều cho ma trận?
    Gửi bởi ĐạiBàng trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 24-11-2010, 02:12 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