相关疑难解决方法(0)

获取特定类型的所有控件

我有多个图片框,我需要在运行时加载随机图像.因此我认为拥有所有图片框的集合然后使用简单的循环将图像分配给它们会很好.但是我应该怎么做呢?或许还有其他更好的解决方案可以解决这个问题吗?

.net c# winforms

40
推荐指数
5
解决办法
7万
查看次数

VB.NET - 迭代容器对象中的控件

我有一个带有"清除"按钮的表单.

当用户单击"清除"时,我想清除表单上所有可见元素的值.在日期控件的情况下,我想将它们重置为当前日期.

我的所有控件都包含在Panel中.

现在,我正在使用以下代码执行此操作.有没有比手动检查每种控件类型更简单的方法?这种方法似乎过于笨拙.

更糟糕的是,为了递归清除子容器内的控件(即面板中的组合框),我必须用重载的"GroupBox"版本重复整个怪物.

编辑:感谢您的建议,以下代码大大简化.

Private Sub btnClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClear.Click
    'User clicks Clear, so clear all the controls within this panel
    ClearAllControls(panMid, True) 'True indicates that yes, i want to recurse through sub-containers
End Sub

ClearAllControls(ByRef container As Panel, Optional Recurse As Boolean = True)   
  'Clear all of the controls within the container object
  'If "Recurse" is true, then also clear controls within any sub-containers
  Dim ctrl As Control
  For Each ctrl …
Run Code Online (Sandbox Code Playgroud)

vb.net

21
推荐指数
2
解决办法
9万
查看次数

如何在VB .NET中创建控件数组

在VB6中有一个名为Control Arrays的功能,您可以在其中为控件命名相同的名称并为其提供索引值.这允许您通过循环控件和设置每个值来设置值.在VB .NET中我无法创建控件数组,有人可以为我提供类似的解决方案.

vb.net vb6

9
推荐指数
3
解决办法
6万
查看次数

对于每个文本框循环

我正在尝试创建一个foreach循环来检查面板中的每个TextBox,如果Text没有,则更改BackColor.我尝试过以下方法:

Dim c As TextBox
For Each c In Panel1.Controls
  if c.Text = "" Then
    c.BackColor = Color.LightYellow
  End If
Next
Run Code Online (Sandbox Code Playgroud)

但是我收到了错误:

无法将System.Windows.Forms.Label类型的对象强制转换为System.windows.forms.textbox类型

vb.net

8
推荐指数
2
解决办法
4万
查看次数

标签 统计

vb.net ×3

.net ×1

c# ×1

vb6 ×1

winforms ×1