• <i id='LnIlk'><tr id='LnIlk'><dt id='LnIlk'><q id='LnIlk'><span id='LnIlk'><b id='LnIlk'><form id='LnIlk'><ins id='LnIlk'></ins><ul id='LnIlk'></ul><sub id='LnIlk'></sub></form><legend id='LnIlk'></legend><bdo id='LnIlk'><pre id='LnIlk'><center id='LnIlk'></center></pre></bdo></b><th id='LnIlk'></th></span></q></dt></tr></i><div id='LnIlk'><tfoot id='LnIlk'></tfoot><dl id='LnIlk'><fieldset id='LnIlk'></fieldset></dl></div>
    • <bdo id='LnIlk'></bdo><ul id='LnIlk'></ul>

      <small id='LnIlk'></small><noframes id='LnIlk'>

      <legend id='LnIlk'><style id='LnIlk'><dir id='LnIlk'><q id='LnIlk'></q></dir></style></legend>
    1. <tfoot id='LnIlk'></tfoot>

        如何在运行时克隆 Control 事件处理程序?

        时间:2023-09-16
        • <legend id='gtadv'><style id='gtadv'><dir id='gtadv'><q id='gtadv'></q></dir></style></legend>
        • <tfoot id='gtadv'></tfoot>
        • <i id='gtadv'><tr id='gtadv'><dt id='gtadv'><q id='gtadv'><span id='gtadv'><b id='gtadv'><form id='gtadv'><ins id='gtadv'></ins><ul id='gtadv'></ul><sub id='gtadv'></sub></form><legend id='gtadv'></legend><bdo id='gtadv'><pre id='gtadv'><center id='gtadv'></center></pre></bdo></b><th id='gtadv'></th></span></q></dt></tr></i><div id='gtadv'><tfoot id='gtadv'></tfoot><dl id='gtadv'><fieldset id='gtadv'></fieldset></dl></div>

                <tbody id='gtadv'></tbody>

                • <bdo id='gtadv'></bdo><ul id='gtadv'></ul>

                  <small id='gtadv'></small><noframes id='gtadv'>

                  本文介绍了如何在运行时克隆 Control 事件处理程序?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我想复制一个控件,如 Button、TextBox 等.但我不知道如何将事件处理程序方法(如 Click)复制到新控件.

                  I want to duplicate a control like a Button, TextBox, etc. But I don't know how I can copy event handler methods (like Click) to the new control.

                  我现在有以下代码:

                  var btn2 = new Button();  
                  btn2.Text = btn1.Text;
                  btn2.size = btn1.size;
                  // ...
                  btn2.Click ??? btn1.Click
                  

                  还有其他方法可以复制控件吗?

                  Is there any other way to duplicate a control?

                  推荐答案

                  克隆任何 WinForms 控件的所有事件:

                  To clone all events of any WinForms control:

                  var eventsField = typeof(Component).GetField("events", BindingFlags.NonPublic | BindingFlags.Instance);
                  var eventHandlerList = eventsField.GetValue(button1);
                  eventsField.SetValue(button2, eventHandlerList);
                  

                  这篇关于如何在运行时克隆 Control 事件处理程序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:我如何知道 .net 事件是否已被处理? 下一篇:在 C# 中,为什么我不能传递另一个类的 EventHandler 引用,我该如何绕过它?

                  相关文章

                • <i id='IULtS'><tr id='IULtS'><dt id='IULtS'><q id='IULtS'><span id='IULtS'><b id='IULtS'><form id='IULtS'><ins id='IULtS'></ins><ul id='IULtS'></ul><sub id='IULtS'></sub></form><legend id='IULtS'></legend><bdo id='IULtS'><pre id='IULtS'><center id='IULtS'></center></pre></bdo></b><th id='IULtS'></th></span></q></dt></tr></i><div id='IULtS'><tfoot id='IULtS'></tfoot><dl id='IULtS'><fieldset id='IULtS'></fieldset></dl></div>
                  1. <legend id='IULtS'><style id='IULtS'><dir id='IULtS'><q id='IULtS'></q></dir></style></legend>
                    <tfoot id='IULtS'></tfoot>

                    <small id='IULtS'></small><noframes id='IULtS'>

                      • <bdo id='IULtS'></bdo><ul id='IULtS'></ul>