【问题标题】:Create a Picturebox when a button was press按下按钮时创建图片框
【发布时间】:2017-01-29 18:04:37
【问题描述】:

我正在创建一个名为 KernalOS 的操作系统系统,具有功能齐全的桌面但我的问题是我希望能够在单击按钮时添加一个图标。我希望图标检测鼠标按钮是否被按下/单击。

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim newPictureBox As New PictureBox
    newPictureBox.Visible = True
    newPictureBox.Top = 20
    newPictureBox.Width = 100
    newPictureBox.Height = 50
    newPictureBox.Left = 10
    'add control to form
    Controls.Add(newPictureBox)
    newPictureBox.Location = New Point(100, 100)
End Sub

这段代码不能正常工作,所以我想知道发生了什么或为什么它不能正常工作。请提出问题,我会为您填写详细信息。谢谢各位

【问题讨论】:

  • 请定义“无法正常工作”。发生了什么/没有发生什么?如果问题仅仅是您没有看到任何新的图片框,也许您应该向其中添加图像或更改其背景颜色?它通常从父级继承背景颜色,在这种情况下使其“不可见”。
  • 另外,您目前正在更改其位置两次。 TopLeft 属性与传递给 New Point(100, 100) 的 X 和 Y 相同。因此,您只需更改Top Left,或 Location 属性。

标签: vb.net operating-system icons controls desktop


【解决方案1】:

使用AddHandler 事件:

newPictureBox.AddHandler, AddressOf newPictureBox_Click

newPictureBox.AddHandler, AddressOf newPictureBox_MouseDown

现在我不确定这有多精确;你现在必须写一个

Private Sub newPictureBox_Click.

这可能不是全部正确的语法,但你明白了。

【讨论】:

  • PictureBox 类没有名为 AddHandler 的方法。也许您将它与Addhandler VB 语句混淆了?
  • @Chris Dunaway - 嗯。好吧,我在使用标签而不是图片框之前确实尝试过。但我确实说过,>这不是完整的正确语法。
  • Label 也没有 AddHandler 方法。也许有人为它写了一个扩展方法?
  • @Chris Dunaway - 不,我以前试过。你错了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-12-10
  • 2014-04-30
  • 2015-02-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-13
相关资源
最近更新 更多