C语言窗体传值

C语言窗体传值
为了实现这个例子,你需要准备2个窗口,一个叫MainForm,上面至少需要一个richTextBox,两个工具栏按钮。
另一个叫 MyDialog 的子窗口,上面有一个 textBox1,一个 Button,作为确定按钮。

两个工具栏按钮分别实现两种形式的窗体调用,模态的和非模态的。

模态的意思是,我们打开对话框,将值传进取,操作完成确定,主窗体再获得对话框的值。
非模态的意思是,我们打开对话框,可以在不关闭窗口的情况下和主窗体交互,主窗体可以即时获得子窗体的值。类似记事本的查找替换对话框。

下面是代码:

主窗体:

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;

namespace WindowsFormsApplication1
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}

private MyDialog m_dlg;

private void toolStripButton1_Click(object sender, EventArgs e)
{
MyDialog dlg = new MyDialog(richTextBox1.Text);
if (dlg.ShowDialog() == DialogResult.OK)
{
richTextBox1.Text = dlg.TextBoxValue;
}
}

private void toolStripButton2_Click(object sender, EventArgs e)
{
if (m_dlg == null)
{
m_dlg = new MyDialog(richTextBox1.Text);
m_dlg.TextBoxChanged += new EventHandler(
(sender1, e1) =>
{ richTextBox1.Text = m_dlg.TextBoxValue; }
);
m_dlg.FormClosed += new FormClosedEventHandler(
(sender2, e2) => { m_dlg = null; }
);
m_dlg.Show(this);
}
else
{
m_dlg.Activate();
}
}
}
}


子窗体

 

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;

namespace WindowsFormsApplication1
{
public partial class MyDialog : Form
{
public event EventHandler TextBoxChanged;

public string TextBoxValue
{
get { return textBox1.Text; }
set { textBox1.Text = value; }
}

public MyDialog() : this("") { }

public MyDialog(string Param)
{
InitializeComponent();
TextBoxValue = Param;
}

private void textBox1_TextChanged(object sender, EventArgs e)
{
if (TextBoxChanged != null)
TextBoxChanged(this, e);
}

private void button1_Click(object sender, EventArgs e)
{
Close();
}
}
}
【0812】对于学习的种种不良现象,总是会有不良的环境影响,就说天天在香烟中,还有冷不丁吹空调,噪音不用说,还是向以前一样想早点结束了,还是在自己的世界里才会有所价值,而且在学习方面也不突出,我也是不好怎么办了。
【1113】对于默写现在好似称为一种心事,其实对学习上的事情上心也是好的,但是不要过于紧张,而且在后面有许多的演讲和新闻阅读,这都是需要做准备和思绪的,其实目的就是让大家的口出漂亮话,这也是本校除技术方面,另外增加生活交际的一种压力,对于程序人员也是要多与人打交道,不管什么时候都是要生存,这也是进阶的一个好过渡。
【1226】今天是星期六,倒是比较的晴朗,昨天晚上是凌晨两点睡的,早上无意识就睡到了11点,那么现在还是睡得晚,连自己都没有那份意志来让自己准点起床,就会想到上周的星期六,早上睡过头就索性请假,而在本周也是比较匆忙,因为项目上现在是我一人在测试完善功能,而且这个礼拜吴传坚又没有来,在星期四就发现了一个比较棘手的问题,是食品推广模块的向多个表同时添加数据其中就有一个表是只添加了主键列,而没有绑定到其他数据,在学习上的最后一个章节是做项目,在今天下午还有课程,所以先把书本上的内容完成,然后在解决项目的漏洞。现在还有5天的时间就是元旦,那么还要充值100元才够,自己凑凑点吧。
【20160109】现在已经到了白热化阶段,每天满足6节课的时间,也不知道回家之前可以见到多少资金,也是现在有这个多方面发展的机会,就是不够主动,还是一个老样子,今天早上电话得知妈妈让通过同事的要求让我把从醴陵-南宁的票买了,没有经历就取消了,下午还是要上课的,早上没到9:00就来了,上次睡过头请假的尴尬局面让我不好意思。
【0225】也许就是自己太容易打败,并且没有任何的主张,所以在所有的关键点,都会沉不住气,这几天都是阴天,隔一个晚上洗个澡,但是从目前的情况来说,首先是要把自己的职业规划给弄清楚,特别是在哪个地方有着什么不同的要求而且要对各种需要利用的时间点进行一次预估,在清明节虽然有一次回家的机会,要把他作为最后一个回家的时刻,所以我要对4月初的时间做一下分析,暂时没有到网络上订票是可能会对放假时间的变动,进入四月也就是只有两个礼拜的在校时间,而且在离开学校之前还要取出一笔钱对于生活费用的支持,另外是对自己本身的定位,说真的,我现在又是比较迷茫,毕竟是要找工作,所以对于工作的能力要求以及社交的能力还是没有完善好,首先去面试第一个当然就是外在,其次主要的考核内容是语言和技能,莫是自己在求工作,而是有问必答,并且是没有缺口的回答。

posted @ 2016-07-11 17:12  chengzheng  阅读(219)  评论(0编辑  收藏  举报