我可以使用变量来控制我使用的 PictureBox 吗?

2024-01-15

有没有办法可以使用变量来控制我在 Visual Basic 中使用的 PictureBox?

I.e.:

CurrentNumber = 1    
PictureBox(CurrentNumber).backcolour = backcolour

您可以使用Me.Controls(String) https://msdn.microsoft.com/en-us/library/s1865435(v=vs.110).aspx索引器。它允许您指定要访问的控件的名称(作为字符串),因此您可以通过将字符串“PictureBox”与数字连接来动态访问图片框。

Dim TargetPictureBox As PictureBox = TryCast(Me.Controls("PictureBox" & CurrentNumber), PictureBox)

'Verifying that the control exists and that it was indeed a PictureBox.
If TargetPictureBox IsNot Nothing Then
    TargetPictureBox.BackColor = Color.Red
End If

或者,通过避免每次调用时循环遍历整个控件集合来节省处理能力OfType()扩大 https://msdn.microsoft.com/en-us/library/bb360913(v=vs.110).aspx on Me.Controls,将结果存储在按控件名称排序的数组中。这样它只需要迭代控制集合一次。

'Class level - outside any methods (subs or functions).
Dim PictureBoxes As PictureBox() = Nothing

'Doesn't necessarily have to be done in a button, it's just an example.
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    If PictureBoxes Is Nothing Then
        PictureBoxes = Me.Controls.OfType(Of PictureBox).OrderBy(Function(p As PictureBox) p.Name).ToArray()
    End If

    'NOTE: CurrentNumber - 1 is necessary when using an array!
    PictureBoxes(CurrentNumber - 1).BackColor = Color.Red
End Sub

NOTE:仅当您的所有图片框都命名为“PictureBox1”、“PictureBox2”等时,此解决方案才能正常工作。如果您突然跳过一个数字(“PictureBox3”、“PictureBox5”、“PictureBox6”),则PictureBoxes(CurrentNumber - 1) for CurrentNumber = 5会回来PictureBox6而不是PictureBox5.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以使用变量来控制我使用的 PictureBox 吗? 的相关文章

  • 为什么设置 POST Content-type:"Application/Json" 会导致 REST WebService 上出现“错误请求”?

    我在使用网络服务时遇到一个奇怪的问题 当我作为客户端将表单发布到 REST Web 服务而不设置任何 类型内容 标头时 一切正常 我接到服务器上的电话并且 Json 文本可用 如果我作为客户端将我的发布请求的内容类型标头设置为 applic
  • 按降序对数字进行排序

    我有 20 个文本框 每个都包含一个特定的数字 我希望 textbox1 到 textboxN 的数字按降序排列 如果任何文本框的值为零 那么我想保留该文本框不变 需要 vb net 中的示例代码 用于按降序对元素进行排序 dim arra
  • 使用 var 与 let/const 进行块级变量重新声明

    Part 1 给出这个例子 var number 10 var number 42 console log number 42 为什么第 4 行不抛出Uncaught SyntaxError Identifier number has al
  • 通过 Assets Pipeline 携带 Sass 变量,Rails 3.1 rc1

    我最近将我的 Rails 3 0 项目之一与 3 1 rc1 进行了分支 以尝试新的资产管道 在使用 3 1 之前 我一直在项目中使用 Sass 因此我在单独的配置文件中设置了一些变量和函数 并让所有其他 sass 文件在第一行导入该文件
  • 多线程应用程序的调用方法?

    我的应用程序中有一个错误 与here http forums ni com t5 Measurement Studio for NET Waveform Graph quot X quot Error m p 217817 highligh
  • Bigquery:如何声明数组变量并使用 select 语句设置数据?

    我试图在 BigQuery 上声明一个数组变量 但无法在变量中放入 SQL 语句 我找不到任何与此相关的主题 我想将表的所有列名放入变量中 所以我尝试了以下方法 DECLARE my array ARRAY
  • C++ 递归变量

    我想我的问题真的很简单 但我现在尝试解决它几个小时 但我似乎不明白 我有一个 ast 树 用 boost library 创建 并通过递归迭代它 我将所有节点保存在 NodeDescriptions 列表中 其中包含实际节点的编号 实际节点
  • VB.NET 中的自动递增文本框

    单击按钮后如何增加文本框内容 将其放在按钮单击事件中 Dim int As Integer Integer TryParse TextBox1 Text int TextBox1 Text int 1
  • html 表单发布到 Flex 应用程序

    我有一个基本完成的 Flex 应用程序 它使用 Zend AMF 来连接 提供数据 我的应用程序确实有一个登录屏幕 看起来工作正常 现在我想在我的网站上添加另一个登录表单 允 许用户输入用户名 密码 提交表单时应将数据传递给 Flex 应用
  • 更改文本框中文本的前景色和背景色

    我正在使用 VB NET 制作 C 代码编辑器应用程序 我想在用户键入关键字时更改关键字的颜色 另外 我正在寻找一种方法来突出显示某些代码行 有没有办法更改文本框或富文本框中一段文本的前景色和背景色 我真的不知道你想做什么 所以这里有一些选
  • 安装文件失败调试已启用

    我之前使用过安装项目 没有任何问题 该项目没有 SQLite DB 作为依赖项我现在正在尝试为一个包含 SQLite 作为 System Data SQLite Core 的项目制作一个 EXE 或 msi 文件 该项目是一个带有 WPF
  • 仅在满足条件时添加到字典

    我在用urllib urlencode构建 Web POST 参数 但是有一些值我只想在除None为他们而存在 apple green orange orange params urllib urlencode apple apple or
  • asp.net vb 用户控件在调用页面上引发事件

    我正在尝试了解用户控件 我创建了一个具有文本框和按钮的用户控件 我想要做的是 当我单击用户控件中的按钮时 在 aspx 页面中填充标签 我知道我可以在页面上有一个按钮 使用用户控件上的一些属性来获取该信息 但我想知道如何使用用户控件的按钮来
  • 如何使用鼠标拖动和移动winform

    我知道如何通过添加以下代码来 拖动和移动 winform Protected Overrides Sub WndProc ByRef m As Message If m Msg 163 And ClientRectangle Contain
  • 为什么 VB.NET 和 C# 中针对值检查 null 存在差异?

    In VB NET http en wikipedia org wiki Visual Basic NET有时候是这样的 Dim x As System Nullable Of Decimal Nothing Dim y As System
  • 将图像文件从网址复制到本地文件夹?

    我有该图像的网址 例如 http testsite com web abc jpg http testsite com web abc jpg 我想将该 URL 复制到 c images 中的本地文件夹中 而且当我将该文件复制到文件夹中时
  • 在函数调用之间保存数据的Pythonic方式是什么?

    对我来说 上下文是我需要在调用修改该值的函数之间保留的单个 int 的信息 我可以使用全局 但我知道这是不鼓励的 现在 我使用了包含 int 的列表形式的默认参数 并利用了可变性 以便在调用之间保留对值的更改 如下所示 def increm
  • django如何将字符串转换为模块?

    我试图了解 django 的另一个神奇之处 它可以将字符串转换为模块 In settings py INSTALLED APPS声明如下 INSTALLED APPS django contrib auth django contrib c
  • `docker run` 输出到 bash 变量 - 奇怪的行为

    我看到一些奇怪的行为从docker run到 bash 变量中 简单的例子 bin bash PWD docker run rm ti ubuntu pwd 2 gt 1 also tried with PWD docker run wit
  • 使用VB.NET查找当前登录用户的用户名

    我正在尝试获取当前用户的用户名 当我登录时Johnny Smith并在没有管理员权限的情况下运行我的应用程序 它将返回正确的用户名 Johnny Smith 但问题是 当我右键单击并选择 以管理员身份运行 时 Windows 将提示我管理员

随机推荐

  • 如何允许用户从 Xamarin.Forms 标签复制和粘贴

    如何允许用户从 Xamarin Forms 标签复制和粘贴 在任何平台上单击文本 默认设置不允许突出显示 因此不允许复制和粘贴 任何帮助 将不胜感激 您可以做的是将标签包装在手势识别器中
  • javascript / jquery - 选择两个数字中较大的一个

    我正在尝试使用 javascript 选择两个数字中较大的一个 我知道我可以编写一个 if 语句 但我想知道是否有某种数学运算或其他东西可以提高效率 以下是我使用 if 语句执行此操作的方法 if a gt b c a else c b 我
  • 请求对象没有属性“accepted_renderer”

    如果出现这个问题会怎样 请求对象没有属性 accepted renderer 这些消息在我的日志中 处理此事件时遇到错误 丢弃参数 timestamp 的无效值 Expand 基本视图集类 class BaseViewSet Logging
  • Meteor JS 在客户端 html 上模拟服务器命令行

    我是 Meteor 的新手 想要制作一个简单的应用程序 我无法根据以下内容在服务器端模拟命令行http terokaisti blogspot com 2012 10 writing terminal app with meteor js
  • 使用 Windows 脚本宿主

    我正在将 Windows 脚本主机用于某种安装程序应用程序 并使用它在开始菜单中创建快捷方式 这个问题是我切换到x64环境 win7旗舰版x64 vs2010 时出现的 我添加了对 Windows 脚本宿主对象模型的引用 来自 c wind
  • 根据自定义 TreeItem 属性更改更新 TreeView

    我扩展了 TreeCell 和 TreeItem 类 MyTreeItem 包含一个自定义属性 我在 MyTreeCell 中使用它来渲染图形 字体等 问题是当我设置 MyTreeCell customProperty 时 我不确定如何使
  • 开始涉足 Android 平板电脑开发

    我最近买了一个Motorola XOOM用于开发 Android 应用程序的平板电脑 我在寻找学习资源方面遇到了重大问题 我了解Java Android 开发指南示例代码几乎全部依赖于键盘 否则无法在我的设备上运行XOOM 除了 Andro
  • 验证 asp 文件上传控件客户端

    我的页面上有一个 asp 文件上传控件 如何在客户端验证所选文件 验证规则 1 文件必须是 jpeg png bmp 或 gif 2 文件大小必须在 25 kb 和 2 mb 以内 请帮忙 谢谢 我已尝试以下代码来验证扩展
  • Reactive Extensions 基于特定数量的并行处理

    我是反应式扩展的新手 我有对象集合并为每个对象调用一个方法 并且方法返回布尔值 有没有办法通过使用 for every 循环并调用该方法来遍历每个反应性扩展对给定数量的对象 一次 5 个 同时调用 fork 和 join 方法 并且在第一个
  • 如何使申请仅有效3天

    我正在上述平板电脑上安装此应用程序 我打算向我的客户提供此平板电脑一两天 我想要的是 经检查操作情况 客户应在有效期后无法使用该应用程序 为此 我调用 calander 函数 并将提取的系统日期 日 与我希望应用程序关闭操作的日期进行比较
  • 你的Ruby版本是2.3.1,但是你的Gemfile在运行rails时指定了2.4.1

    我正在尝试从 ruby 2 3 0 升级到 2 4 1 为此 我做了 rvm use 2 4 1 my project create 我已经在另一个项目中使用 2 4 1 我改变了 gemfileruby 2 3 0 to ruby 2 4
  • 简单的pthread! C++

    我不知道为什么这不起作用 include
  • Avalon Dock 浮动锚定物能否更加独立于其父级?

    我有一个 AvalonDock DockingManager 控件 其中包含一些子锚定对象 无文档 如果这些 Anchorables 从主 DockingManager 浮动 我知道它们仍然是 DockingManager 逻辑树的一部分
  • AttributeError:模块“keras.backend”没有属性“image_dim_ordering”

    我尝试执行一些教程迁移学习项目 但我遇到属性错误 我检查了我的tensorflow和keras版本 张量流 1 14 0 喀拉斯 2 2 5 和 python 3 6 9 版本 代码在这里 if K image dim ordering t
  • 初始缩放在 d3 v4 中不起作用

    我已经进口了zoom像这样 import zoom from d3 zoom My svg和组container看起来像这样 const svg select root append svg attr width width attr he
  • Powershell 脚本查询 AD 中特定 OU 的计算机名称并导出

    我几乎 完全阅读 PowerShell 新手 我正在开发一个项目来清点我们网络上某些计算机上安装的软件 我找到了一个脚本来处理软件清单部分 但它依赖于带有计算机名称的文本文件进行扫描 我正在寻找一种方法来查询 AD 中特定 OU 的计算机名
  • const string& 构造函数和模板化 std::set find 的分段错误

    以下代码遇到了段错误const string 构造函数 并以 0 退出string view构造函数 我知道const string 这不是最好的方法 但根据我的理解 如果没有优化 临时string是由构造而成const char 然后它的
  • java中的@符号[重复]

    这个问题在这里已经有答案了 到底是做什么的 Object field做 我正在阅读一些从反编译器获取的代码 它用 Object name field stuff field stuff public static Object fieldN
  • 类型提示:方法应该接受任何 $art 对象

    我有一个 Collection 类 它有一个 add 方法 add 方法应该只接受对象 所以这是期望的行为 x 5 arbitrary non object obj new Foo arbitrary object collection n
  • 我可以使用变量来控制我使用的 PictureBox 吗?

    有没有办法可以使用变量来控制我在 Visual Basic 中使用的 PictureBox I e CurrentNumber 1 PictureBox CurrentNumber backcolour backcolour 您可以使用Me