如何利用c语言添加button按钮

如何利用c语言添加button按钮,第1张

Windows 窗体程序是基于消息机制的,所有控件,它的本质都是一个窗体,都是使用 CreateWindows 函数来创建,不过类名,则需要指定为系统预先注册的控件类,比如,你要创建一个按钮控件,就要这样子 CreateWindows( "BUTTON", "按钮标题" ),CreateWindows 这个函数你应该用了不少了吧,其余的参数可以参考 MSDN,但是类名我们指定了 “BUTTON”,说明我们要创建一个按钮,每个按钮都有一个唯一的 ID,通过你的消息处理函数,可以知道哪个按钮发生了什么事件,详细讲的话,非常多,你可以参考 MSDN,或者《Windows 程序设计》这本书 。

直接在itemTemplate里面添加button,然后设置button的commandName属性和commandArgument属性设置完了.比如你将commandName设置成tr,将commandArgument属性设置还成<%#eval("id")%>

然后在GridView的一个关于button点击的事件里

if(e.commandName=="tr")

{

Response.redirect("xxx.aspx?id=+"e.CommandArgument.ToString()"+")

}

这样就可以传值了.其他方法也类似.写到GridView里的哪个事件我具体也忘了,好像是rowCommand什么的,记不起来了,抱歉:-(

一、动态添加Button

动态添加Button的效果就是点击之后,生成一个按钮,并为按钮添加点击的方法。

1、在xib文件上拖拽添加一个button,标题为:添加button。

2、按住ctrl键拖拽到addbuttonViewController.m文件空白处,生成IBAction,填充代码后如下:

[cpp] view plaincopyprint?

01.- (IBAction)addButton:(id)sender {

02.CGRect frame = CGRectMake(90, 200, 200, 60)

03.UIButton *someAddButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]

04.someAddButton.backgroundColor = [UIColor clearColor]

05.[someAddButton setTitle:@"动态添加一个按钮!" forState:UIControlStateNormal]

06.someAddButton.frame = frame

07.[someAddButton addTarget:self action:@selector(someButtonClicked) forControlEvents:UIControlEventTouchUpInside]

08.[self.view addSubview:someAddButton]

09.}

- (IBAction)addButton:(id)sender {

CGRect frame = CGRectMake(90, 200, 200, 60)

UIButton *someAddButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]

someAddButton.backgroundColor = [UIColor clearColor]

[someAddButton setTitle:@"动态添加一个按钮!" forState:UIControlStateNormal]

someAddButton.frame = frame

[someAddButton addTarget:self action:@selector(someButtonClicked) forControlEvents:UIControlEventTouchUpInside]

[self.view addSubview:someAddButton]

}

3、动态生成的button点击事件方法:

生成的button点击d出提示框。

[cpp] view plaincopyprint?

01.-(void) someButtonClicked{

02.UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示"

03.message:@"您点击了动态按钮!"

04. delegate:self

05. cancelButtonTitle:@"确定"

06. otherButtonTitles:nil]

07.[alert show]

08.}

-(void) someButtonClicked{

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示"

message:@"您点击了动态按钮!"

delegate:self

cancelButtonTitle:@"确定"

otherButtonTitles:nil]

[alert show]

}

4、编译运行效果

点击按钮后

二、监听UIAlertView。

1、在上面的代码基础上,在addbuttonViewController.h文件添加委托

[cpp] view plaincopyprint?

01.#import <UIKit/UIKit.h>

02.

03.@interface addbuttonViewController : UIViewController<UIAlertViewDelegate>

04.- (IBAction)addButton:(id)sender

05.

06.@end

#import <UIKit/UIKit.h>

@interface addbuttonViewController : UIViewController<UIAlertViewDelegate>

- (IBAction)addButton:(id)sender

@end

2、在AlertView中多添加两个按钮

[cpp] view plaincopyprint?

01.-(void) someButtonClicked{

02.UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示"

03.message:@"您点击了动态按钮!"

04. delegate:self

05. cancelButtonTitle:@"确定"

06. otherButtonTitles:@"取消",@"第三项",nil]

07.[alert show]

08.}

-(void) someButtonClicked{

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示"

message:@"您点击了动态按钮!"

delegate:self

cancelButtonTitle:@"确定"

otherButtonTitles:@"取消",@"第三项",nil]

[alert show]

}

效果图:

3、在对应的.m文件中实现委托中的方法

监听你点击了那个按钮

[cpp] view plaincopyprint?

01.-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex

02.{

03.NSLog(@"buttonIndex:%d", buttonIndex)

04.}

-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex

{

NSLog(@"buttonIndex:%d", buttonIndex)

}点击AlertView中d出的三个按钮打印的结果:

[cpp] view plaincopyprint?

01.2012-06-14 16:53:18.516 DynamicAddButton[5645:f803] buttonIndex:1

02.2012-06-14 16:53:23.652 DynamicAddButton[5645:f803] buttonIndex:2

03.2012-06-14 16:53:25.701 DynamicAddButton[5645:f803] buttonIndex:0

04.2012-06-14 16:53:39.900 DynamicAddButton[5645:f803] buttonIndex:1

2012-06-14 16:53:18.516 DynamicAddButton[5645:f803] buttonIndex:1

2012-06-14 16:53:23.652 DynamicAddButton[5645:f803] buttonIndex:2

2012-06-14 16:53:25.701 DynamicAddButton[5645:f803] buttonIndex:0

2012-06-14 16:53:39.900 DynamicAddButton[5645:f803] buttonIndex:1

这样你就知道点了按个按钮了。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/10981116.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-12
下一篇2023-05-12

发表评论

登录后才能评论

评论列表(0条)

    保存