C# 处理由另一个控件引起的控件数组事件

发布于 2024-07-07 16:44:57 字数 228 浏览 10 评论 0 原文

我正在开发一个带有多个编辑器窗口的 winforms html 编辑器,因为每个编辑器窗口都将写入数据库字段。

我正在将编辑器窗口创建为一个控制数组,并希望在其上方只有一个工具栏,可以根据我当前所在的窗口处理诸如应用粗体、斜体等事件。不幸的是,显然,工具栏上的事件不知道控件之前选择了什么。

有没有办法做到这一点,或者我应该向每个编辑器窗口添加一个 onenter 事件并静态存储最后使用的编辑器窗口。

I am working on a winforms html editor with multiple editor windows as each editor window will be written to a database field.

I am creating the editor windows as a control array and was hoping to just have one toolbar above them that would handle the events such as apply bold, italic... based on the window I was currently in. Unfortunately obviously the event handler of an event on the toolbar doesn't know what the control selected before it was.

Is there a way to get this or should I be adding an onenter event to each editor window and storing statically the last editor window used.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

不念旧人 2024-07-14 16:44:57

我认为存储窗口、HTML 编辑器控件甚至只是一个索引是最简单的选择。

I think that storing the windows, the HTML editor control or even just an index is the simplest option.

檐上三寸雪 2024-07-14 16:44:57

我不熟悉你提到的事件类型,而且我可能遗漏了一些东西,但在 WinForms 开发中,触发事件并提供有关发送者和事件的信息是很常见的,符合 EventHandler 委托?

[SerializableAttribute]
[ComVisibleAttribute(true)]
public delegate void EventHandler(
    Object sender,
    EventArgs e
)

这就是 System.Windows.Forms.Control 的方式.点击进行操作。
您能否遵循此示例,其中 sender 在每种情况下都是编辑器窗口?

I'm not familiar with the types of events you mention, and I'm probably missing something, but it's common in WinForms development to have events fire and provide information about the sender as well as the event, conforming to the EventHandler delegate?

[SerializableAttribute]
[ComVisibleAttribute(true)]
public delegate void EventHandler(
    Object sender,
    EventArgs e
)

This is how System.Windows.Forms.Control.Click operates.
Could you follow this example, where sender would be the editor window in each case?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文