1种
把Form1的睁告引用传进Form2中,然后给Form1定义一个属性,返回form2需要的数据,就可以了。public class Form1{ public string Value { return "abc" }}public class Form2{private Form1 form public Form2(Form1 form1) { this.form = form1 } public void Caculate() { string str = this.form.Value //str就是Form1中的数据 }}
2种:
Windowns的API类
using System
using System.Runtime.InteropServices
namespace TestHwnd
{
public class Win32API
{
[DllImport("user32.dll ", CharSet = CharSet.Unicode)]
public static extern IntPtr PostMessage(IntPtr hwnd, int wMsg, string wParam, string lParam)
}
}
主窗体程念搭序(发送消息):
using System
using System.Collections.Generic
using System.ComponentModel
using System.Data
using System.Drawing
using System.Linq
using System.Text
using System.Windows.Forms
using System.Runtime.InteropServices
namespace TestHwnd
{
public partial class Main : Form
{
//定义了一个子窗体的句柄
public IntPtr hwndfrmTest
public Main()
{
InitializeComponent()
}
private void timer1_Tick(object sender, EventArgs e)
{
if(hwndfrmTest!=(IntPtr)0)
{
if(DateTime.Now.Second % 3 == 0)
{
Win32API.PostMessage(hwndfrmTest, 0x60, "", "")
}
if(DateTime.Now.Second % 5 == 0)
{
Win32API.PostMessage(hwndfrmTest, 0x61, "", "")
}
}
}
void Button2Click(object sender, EventArgs e)
{
frmTest frm=new frmTest()
frm.Show(this)
}
}
子窗体程序(接仔早拿收消息)
using System
using System.Drawing
using System.Windows.Forms
namespace TestHwnd
{
/// <summary>
/// Description of frmTest.
/// </summary>
public partial class frmTest : Form
{
Main main
public frmTest()
{
//
// The InitializeComponent() call is required for Windows Forms designer support.
//
InitializeComponent()
//
// TODO: Add constructor code after the InitializeComponent() call.
//
}
void FrmTest_Load(object sender, EventArgs e)
{
main = this.Owner as Main
//初始化该窗体的句柄
main.hwndfrmTest = this.Handle
}
///重写窗体的消息处理函数DefWndProc,从中加入自己定义消息 MYMESSAGE 的检测的处理入口
protected override void DefWndProc(ref Message m)
{
switch (m.Msg)
{
case 0x60:
{
label1.ForeColor=Color.Red
label1.Text = DateTime.Now.ToString() + "-" + "测试成功。。。。,呵呵,变红了"
}
break
case 0x61:
{
label1.ForeColor=Color.Blue
label1.Text = DateTime.Now.ToString() + "-" + "测试成功。。。。,呵呵,变蓝了"
}
break
default:
base.DefWndProc(ref m)
break
}
}
void Button1Click(object sender, EventArgs e)
{
main.hwndfrmTest = (IntPtr) (0)
this.Close()
}
}
}
1、表:是存于电脑的原始数据2、查询:将大而复杂的表,通过给定条件,从表中筛选出来,并按照一定的结构输出到指定的消敬差设备,这是我们平时最想要的结果。
3、窗体:是用来人机对话的窗口,是一个程序模块的集合,将所有的程序命令集成到窗体的各个控件中,通过他可以很简单地完成 *** 作任务。他可含有表,查询,命令按钮,文本框...等等。
4、报表:是将数据按照用户的要求格式进行输出的程序模块,可以通过打印机打印出来。也可以通过屏幕预览。
5、宏:可理解为:用户 *** 作命令的集合稿知。
6、模块:完成一定目标的程序。可以是一段代码,也可以是一个窗体拿皮。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)