gpt4 book ai didi

winforms - Windows 窗体中的自定义控件问题

转载 作者:行者123 更新时间:2023-12-04 08:29:47 26 4
gpt4 key购买 nike

我正在尝试在 F# 中编写我自己的 MineSweeper。
我创建了一种 Button :

type myButton(pos : Point, boum : bool, wnd : Form) = 
inherit Button(Parent = wnd,
Bounds = Rectangle(Point((pos.X+1) * size,(pos.Y+1) * size), Size(size,size)),
Visible = true,
Text = if boum = true then "B" else "")

let (bomb : bool) = boum
member this.Bomb with get() = bomb
这些按钮在一个表单中,我可以使用 GethildAtPoint 获取这些按钮。但我得到一个 Control 而不是 myButton 所以我无法访问字段 Bomb。
我怎么才能得到它 ?我尝试使用 Tag 属性,但没有成功。
谢谢你。

最佳答案

当您调用 GetChildAtPoint ,您将返回一个控件,然后您可以使用模式匹配键入 test 以查看它是否是您的自定义按钮:

let ctrl = form.GetChildAtPoint pt
match ctrl with
| :? myButton as myb ->
let isBomb = myb.Bomb ()
// Do something here
()
| _ -> () // ignore anything else

关于winforms - Windows 窗体中的自定义控件问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65080063/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com