GVKun编程网logo

delphi – 如何向TCustomControl添加OnClick事件?(delphi tabcontrol)

12

本篇文章给大家谈谈delphi–如何向TCustomControl添加OnClick事件?,以及delphitabcontrol的知识点,同时本文还将给你拓展.net–Masterpage与Userc

本篇文章给大家谈谈delphi – 如何向TCustomControl添加OnClick事件?,以及delphi tabcontrol的知识点,同时本文还将给你拓展.net – Masterpage与Usercontrol与Customcontrol之间的区别、asp.net – imagebutton onclientclick和onclick事件、Asp.Net 不同的OnClick事件区别小结(onserverclick,onclientclick)、ASP.NET的OnClientClick与OnClick事件等相关知识,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

delphi – 如何向TCustomControl添加OnClick事件?(delphi tabcontrol)

delphi – 如何向TCustomControl添加OnClick事件?(delphi tabcontrol)

如何创建OnClick事件?
我需要TCustomControl的帮助.

解决方法

OnClick事件已在TCustomControl中定义.您所要做的就是让它可见.添加行
published
  property OnClick;

在你的控制下,你就完成了!

.net – Masterpage与Usercontrol与Customcontrol之间的区别

.net – Masterpage与Usercontrol与Customcontrol之间的区别

请帮助我理解Master页面与Usercontrol与Custom控件之间的区别

解决方法

在这里检查类似问题的答案:

ASP.Net Custom controls vs. user controls: Are these two the same

母版页实际上是用户控件;您可以通过转到主页类的代码隐藏来验证这一点,右键单击类名并选择“转到定义”.你会看到这样的东西:

public class MasterPage : UserControl
{
    ...
}

用户控件便于显示使用单个项目重复的显示组件,例如菜单和面板.问题是,如果需要,它们不会生成.DLL并且必须手动复制到其他项目.

另一方面,自定义控件可以在单独的类库中创建,并根据需要在其他项目中重用.使用自定义控件时,必须完全在代码中创建显示工件,并且开发需要稍长的时间.

查看Microsoft的用户控件和自定义控件之间的比较:

http://support.microsoft.com/kb/893667

asp.net – imagebutton onclientclick和onclick事件

asp.net – imagebutton onclientclick和onclick事件

如何从代码后面添加onclentclick和onclick事件到图像按钮.我写了一些代码,它显示了onclientclick事件的确认消息,但没有触发onclick事件.

我的代码如下..

ImageButton img = new ImageButton();
img.ID = "img1";
img.Visible = true;
img.OnClientClick = "alert(confirm('Are you sure you want to delete folder with files ?'));";
img.Click += new ImageClickEventHandler(img_Click);
img.ImageUrl = "~/images/admin/remove.png";

活动的代码是:

void img_Click(object sender,ImageClickEventArgs e)
{
 //code what i want to implement   
}

解决方法

更改OnClientClick如下所示

img.OnClientClick = "return confirm('Are you sure you want to delete folder with files ?');";

或者您可以在aspx页面中添加脚本作为方法,然后从OnClientClick调用它

img.OnClientClick ="ConfirmDelete()";


<script type="text/javascript">
function ConfirmDelete()
  {
      return confirm('Are you sure you want to delete folder with files ?');
  }
</script>

Asp.Net 不同的OnClick事件区别小结(onserverclick,onclientclick)

Asp.Net 不同的OnClick事件区别小结(onserverclick,onclientclick)

1. HTML控件,如IMG的输入按钮等 的 onclick ( 客户端 )和 onserverclick( 服务端 )事件,注意 runat="server"。。。

此处的onclick先于onserverclick执行。
2.WEB控件,如<asp:button 按钮等 的 onclientclick( 客户端 ) 和 onclick ( 服务端 )事件。。。

 

此处的onclientclick先于onclick执行。
onclientclick  事件来自2.0, 它用来取代下列代码。。。

 

总之,客户端点击事件先于服务器端点击事件执行。也就是说,先执行客户端的Javascript,然后到服务器端执行服务器的相关代码。

附:html控件、html服务器控件和web用户控件
asp.net之所以现在开发方便和快捷,关键是它有一组强大的控件库,包括web服务器控件,web用户控件,web自定义控件,html服务器控件和html控件等。这里主要说说html控件、html服务器控件和web服务器控件的区别。
1、html控件:就是我们通常的说的html语言标记,这些语言标记在已往的静态页面和其他网页里存在,不能在服务器端控制的,只能在客户端通过javascript和vbscript等程序语言来控制。<input type="button" id="btn" value="button"/>
2、html服务器控件:其实就是html控件的基础上加上runat="server"所构成的控件.它们的注意区别是运行方式不同,html控件运行在客户端,而html服务器控件是运行在服务器端的。参考其他资料是这样说的: 当ASP.NET 网页执行时,会检查标注有无runat 属性,如果标注没有设定,那么Html标注就会被视为字符串,并被送到字符串流等待送到客户端,客户端的浏览器会对其进行解释;如果Html标注有设定runat="server" 属性,Page 对象会将该控件放入控制器,服务器端的代码就能对其进行控制,等到控制执行完毕后再将Html服务器控件的执行结果转换成Html标注,然后当成字符串流发送到客户端进行解释<input id="Button" type="button" value="button" runat="server" />
3、web服务器控件:也称asp.net服务器控件,是Web Form编程的基本元素,也是asp.net所特有的。它会按照client的情况产生一个或者多个html控件,而不是直接描述html元素。如: <asp:Button ID="Button2" runat="server" Text="Button"/>那么它和html服务器控件有什么区别呢?参照其他网页的资料看法如下:
1)、Asp.net服务器控件提供更加统一的编程接口,如每个Asp.net服务器控件都有Text属性。
2)、隐藏客户端的不同,这样程序员可以把更多的精力放在业务上,而不用去考虑客户端的浏览器是ie还是firefox,或者是移动设备。
3)、Asp.net服务器控件可以保存状态到ViewState里,这样页面在从客户端回传到服务器端或者从服务器端下载到客户端的过程中都可以保存。
4)、事件处理模型不同,Html标注和Html服务器控件的事件处理都是在客户端的页面上,而Asp.net服务器控件则是在服务器上,举例来说:
<input id="Button4" type="button" value="button" runat="server"/>是Html服务器控件,此时我们点击此按钮,页面不会回传到服务器端,原因是我们没有为其定义鼠标点击事件。
<input id="Button4" type="button" value="button" runat="server" onserverclick="test" />我们为Html服务器控件添加了一个onserverclick事件,点击此按钮页面会发回服务器端,并执行test(object sender,EventArgs e)方法。
<asp:Button ID="Button2" runat="server" Text="Button" />是Asp.net服务器控件,并且我们没有为其定义click,但是我们点击时,页面也会发回到服务器端。
由此可见:Html标注和Html服务器控件的事件是由页面来触发的,而Asp.net服务器控件则是由页面把Form发回到服务器端,由服务器来处理。

onclick,onclientclick和onserverclick的区别

下面以 HTML的按钮( system.web.ui.htmlcontrols ) 和 ASP.NET服务端按钮 (

system.web.ui.webcontrols ) 为例:
1. HTML控件,如IMG的输入按钮等 的 onclick ( 客户端 )和 onserverclick( 服务端 )事件,

注意 runat="server"。。。
<input type="button" id="btn" name="btn" value="button" runat="server" onserverclick="ServerSideEvent" onclick="SideScript" />

此处的onclick先于onserverclick执行。
2.WEB控件,如<asp:button 按钮等 的 onclientclick( 客户端 ) 和 onclick ( 服务端 )事件。。。

<asp:Button ID="btn" text="button" runat="server" OnClick="SideScript" OnClientClick="ClientSideScript" />

此处的onclientclick先于onclick执行。
onclientclick 事件来自2.0, 它用来取代下列代码。。。

btn.Attributes.Add("onclick","SideScript");

总之,客户端点击事件先于服务器端点击事件执行。也就是说,先执行客户端的Javascript,然后

到服务器端执行服务器的相关代码。

ASP.NET中Onclick和OnserverClick事件的区别

对于服务器按钮控件(即<asp:Button>类型的按钮):
服务器响应事件:OnClick
客户端响应属性:OnClientClick

对于html按钮控件(即<input type="button" runat="server">)
服务器响应事件:OnServerClick
客户端响应事件:onclick
asp:Button类型的是onclick
<input type="button" runat="server" />类型的是onserverclick
一个是.net的控件 ~一个是html控件转换成服务器端控件
效果完全一样,应为input 本身具有onclick的客户端事件,微软只能使用onserverclick作为服务器端响应的名称

ASP.NET的OnClientClick与OnClick事件

ASP.NET的OnClientClick与OnClick事件

OnClientClick是客户端事件方法.一般采用JavaScript来进行处理.也就是直接在IE端运行.一点击就运行.

OnClick事件是服务器端事件处理方法,在服务器端,也就是IIS中运行.点击按钮后,执行postback,再运行.

如果一个按钮上我们同时有客户端的OnClientClick方法又有OnClick事件处理方法,如何才能按照正常的逻辑运行呢?

OnClientClick中我们常用来做一些客户端的检测.当然放在服务器也可以做同样的检测,但这样做的代价是与服务器进行交互,消耗资源。

例:

test()为一javascript函数.

<script type="text/javascript">
        function test() {
            var value = document.getElementById("<%=t1.ClientID%>").value;
            if (value == "") {
                alert("不能为空值");
                return false;
            }
        }
    </script>

t1为一文本框,判断输入内容是否为空

<asp:TextBox ID="t1" runat="server"></asp:TextBox>
 <asp:Button ID="Button1" runat="server" Text="提交"  OnClientClick="return test()" onclick="Button1_Click"  />

需要注意的是当我们当击这个按钮时,自动先执行的客户端,再执行服务器端的.如果客户端返回的是false,那么服务器端对应的方法永远不会执行.这样就达到检测,只有通过才去执行服务器端的方法.

也就是说如果我们上面写成:

<asp:Button ID="Button1" runat="server" Text="提交"  OnClientClick="test();return false" onclick="Button1_Click"  />

那么不管test()执行的结果如何.服务器端对应的Button1_Click方法都永远不会执行.因为return false使得始终使客户端返回false

如果我们写成:

<asp:Button ID="Button1" runat="server" Text="提交"  OnClientClick="test()" onclick="Button1_Click"  />

那么Button1_Click都有会发生.同样也就达不到效果.也就是说你没有通过检测也去执行服务器的方法了.

还可以通过Button1.Attributes.Add("onclick", "test()");的方法来触发客户端事件


关于delphi – 如何向TCustomControl添加OnClick事件?delphi tabcontrol的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于.net – Masterpage与Usercontrol与Customcontrol之间的区别、asp.net – imagebutton onclientclick和onclick事件、Asp.Net 不同的OnClick事件区别小结(onserverclick,onclientclick)、ASP.NET的OnClientClick与OnClick事件等相关知识的信息别忘了在本站进行查找喔。

本文标签: