C语言中,如何在窗体之间互相调用事件?

Python012

C语言中,如何在窗体之间互相调用事件?,第1张

Form程序的话,最好是把你的逻辑,操作都做成独立的方法,根据需求设定访问权限。

而事件里,仅仅就是调用这些方法而已。

当别的窗体需要使用对应的逻辑时只要写。

Form1 f1=new Form1()

f1.Show()

f1.xxxx()//你的方法。

Form2 form2=new Form2()

form2.Owner=this

form2.Show()

Form2 里面获取如下

Form1 form1=(Form1)this.Owner

int i=form1.dataGridView.Rows.Count//这句就是访问form1的dataGridview1

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

这段代码没问题,我亲自验证过。

或者你尝试我这段代码,效果应该明显:

#include <Windows.h>

#include <stdlib.h>

#include <stdio.h>

int main()

{

// 模拟Alt+Tab

keybd_event(VK_MENU, 0xb8, 0, 0) //Alt 按下

keybd_event(VK_TAB, 0x8f, 0, 0) // Tab 按下

while (1) // 停住观察

keybd_event(VK_TAB, 0x8f, KEYEVENTF_KEYUP, 0) // Tab 释放

keybd_event(VK_MENU, 0xb8, KEYEVENTF_KEYUP, 0) // Alt 释放

return 0

}

keybd_event函数模拟了键盘输入。调用该函数会让系统触发WM_KEYUP或者WM_KEYDOWN事件。

函数原型是:

VOID WINAPI keybd_event(

  _In_ BYTE      bVk,

  _In_ BYTE      bScan,

  _In_ DWORD     dwFlags,

  _In_ ULONG_PTR dwExtraInfo

)

哎,还没分!!!!

#include <stdio.h>

#include <stdlib.h>

unsigned int get_rand_num_1_5( void )

{

/* 获取随机数,并保证每次获得的不一样 */

srand((unsigned)time(NULL))

unsigned int r=rand()

/* 将随机数变为1-5之间 */

r = 1 + r%5

return r

}

int main( void )

{

/* 自动获取的数字 */

int rand_num

/* 要手动输入的数字 */

int input_num

while(1)

{

rand_num = get_rand_num_1_5()

printf( "The rand num is %d\n",rand_num )

printf("please input the num :\n")

scanf( "%d",&input_num )

if( input_num == input_num )

{

printf("you are right!\n")

}

else

{

printf( "The rand num is %d\n",rand_num )

printf( "The input num is %d\n",input_num )

printf("you are wrong!!!")

}

}

return 0

}