VB.net - Thay thế chỉ mục của các điều khiển trên biểu mẫu

Giới thiệu

Đối với những người đã được giới thiệu về VB6, thật dễ dàng để tạo các điều khiển có cùng tên nhưng với một chỉ mục khác.

Theo VB.Net BG, mọi thứ trở nên khó khăn hơn; các bộ sưu tập các điều khiển không còn tồn tại.

  • Do đó, cần phải phát triển các thủ thuật để khắc phục sự thiếu hụt này, nhưng đừng lo lắng, mọi thứ đều có thể với VB.Net.
  • Chúng tôi có thể xem xét rằng tất cả các điều khiển trên một biểu mẫu đã là một phần của bộ sưu tập. Từ đó chúng ta có thể cố gắng xác định chúng!
  • Chúng tôi có thể xem xét tất cả "kiểm soát" tạo nên thiết kế của biểu mẫu, nhưng khó khăn chính là mỗi điều khiển sở hữu các thuộc tính riêng.
  • Cách tiếp cận đầu tiên này, chúng tôi sẽ xử lý các thuộc tính của nhiều điều khiển thuộc các loại khác nhau với một số dòng mã trong một phụ.

Sơ bộ

Mở một dự án Windows Form mới

  • Dán 4 textBox và đặt thuộc tính Tag 1, 2, 3 và 4 của chúng
  • Dán 6 hộp hình ảnh và đặt thuộc tính Thẻ của chúng 1, 2, 3, 4 ... 6
  • Dán 2 nút

Mã được chia thành hai phụ để dễ đọc hơn, nhưng nó có thể đạt được bằng một phụ.

Nếu bạn muốn, bạn có thể chọn cả hai dòng: Img.image = ...

Các hình ảnh trong zip.

'================================================= =============

'Về hình thức,

'4 TextBox sở hữu Tag de 1 à 4

'6 PictureBox sở hữu Tag de 1 à 6

'================================================= =============

 Lớp công khai Form1 Private Sub Form1_Load (Người gửi ByVal là System.Object, ByVal e As System.EventArss) Xử lý MyBase.Load initPic () initText () End Sub Sub Sub initText () Dim Ctl As Control Dim Txt As TextBox Tĩnh NbAlea + = 1: Nếu NbAlea> 4 thì NbAlea = 1 Với mỗi Ctl trong Me.Controls 'boucle sur tout les contrôles de la forme If TypeOf Ctl Is TextBox Sau đó' Vérifie que c'est un textbox Txt = Ctl If Txt.Tag = NbAlea Sau đó 'S'il n'y a que des TextBox sur la form il n'est pas nécessaire' de passer par une biến đệm Txt.Text = "c'est le TextBox:" & Txt.Name Txt.BackColor = Color .Cuchsia Else Txt.Text = "" Txt.BackColor = Color.Empty End If End If Next End Sub Sub initPic () Dim Pic As Control Dim Img As PictureBox Tĩnh NbAlea As Integer NbAlea + = 1: If NbAlea> 6 Sau đó = 1 'S'il n'y a que des imageBox sur la form il n'est pas nécessaire' de passer par une bộ đệm biến cho mỗi Pic In Me.Controls 'boucle sur tout les contrôles de la forme If TypeOf Pi c là PictureBox Sau đó Img = Pic Nếu Pic.Tag = NbAlea Sau đó Img.BackColor = Color.Aquamarine Img.BorderStyle = BorderStyle.Fixed3D 'Img.Image = System.Drawing.Bitmap.FromFile (My.Application.In \ bt "& NbAlea &" .bmp ") 'Img.SizeMode = PictureBoxSizeMode.StretchImage Else Img.BackColor = Color.Chatioate Img.BorderStyle = BorderStyle.FixedSingle End If End Object, ByVal e As System.EventArss) Xử lý Nút1.Click initText () End Sub Sub Sub Sub Nút2_Click (Người gửi ByVal As System.Object, ByVal e As System.EventArss) Xử lý Nút2.Click initPic () End 

Tải về:

  • Máy chủ 1: Bộ sưu tập VbNet.zip

Bài TrướC TiếP Theo Bài ViếT

Lên Trên LờI Khuyên