新建一项目后的主窗口是Form1.cs,然后建一主菜单“数据处理”,点击数据处理菜单就运行form2.cs表单,请问如何将打开的Form2窗口限制在F

wtoeb 2003-10-16 07:59:40
新建一项目后的主窗口是Form1.cs,然后建一主菜单“数据处理”,点击数据处理菜单就运行form2.cs表单,请问如何将打开的Form2窗口限制在Form1窗口中,谢谢!
...全文
43 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
kuangsha007 2003-10-17
  • 打赏
  • 举报
回复

的Form1调用的Form2的事件
Form2 f = new Form2();
f.ShowDialog(this);
甴曱 2003-10-17
  • 打赏
  • 举报
回复
在你的Form1调用的Form2的事件中添加如下代码:
Form2 f = new Form2();
f.MdiParent = this;
f.Show();
注,前提条件:Form1的属性中把ismdicontainer设置为true;
bluebirdboy 2003-10-17
  • 打赏
  • 举报
回复
child.parent=father
wtoeb 2003-10-16
  • 打赏
  • 举报
回复
怎么设为窗体?怎么做呢?
谢谢。
冷月孤峰 2003-10-16
  • 打赏
  • 举报
回复
将后者设为前者的子窗体不就行了
一、创建工程     如图所示,在集成开发环境的File菜单中选择New->Project打开新建工程对话框我们选择工程类型为Visual C# Projects,在模板中选择Windows  Application,在Name处输入工程名称:HelloWindows,在Location中输入保存的路径。 确定后,系统自动为你生成了程序框架。   现在我们来简单地熟悉一下这个开发环境中。     这就是我们的开发环境!   A区是我们的工具箱,包括对数据库、组件、窗体控件等的支持,我们都可以选择并加入到form中,假如你找不到Toolbox,请在菜单View中选择Toolbox以打开它。   B区是我们的设计工作区(包括对界面、代码的设计)。   C区相当于我们在VC6中的workspace:Solution Explorer可以看成是以前的FileView,ResourceView和ClassView大家一定是很熟悉了,看到Solution Explorer中的 Form1.cs了吗?这就是Form1对应的C#文件,双击它就可以对Form1进行界面设计,鼠标右键单击Form1.cs在弹出菜单中选择View Code便可以查看对应的代码。   D区是属性窗口:类似我们在VC6中资源编辑器里的属性窗口,但功能更强大,对于屏幕上的组件比如按钮、列表框你都可以在这里直接修改其属性:如文字、背景色等。     我们接下去的任务是制作关于对话框,并添加菜单用于打开此对话框。     二、添加新的Form:关于对话框   选择菜单Project->Add Windows Form,在弹出的对话框中选择类别为Local Project Items,选择模板为Windows Form,在Name中输入文件名:AboutDlg.cs,确认。新的Form出现在工作区,我们在D区的属性对话框中修改Text为“关于”,选择BackColor为淡蓝色,你也可以尝试其它属性的改变。   接下去,我们打开Toolbox,选择Win Forms中的Label,然后在窗体中画出,并在属性对话框中修改Text为"VC知识库欢迎您!   http://www.vckbase.com",我们在Win Forms中再加入一个Button,修改Text为“确认”。     至此,对话框的界面我们设计好了,但当用户按下确认按钮的时候,我们如何关闭对话框呢?我们双击“确认”按钮,这样系统会为按钮自动添加按钮的处理代码,在其中我们添加Close()函数用以关闭,如下所示:     protected void button1_Click (object sender,   System.EventArgs e)   {   Close(); ///这是我们增加的一句   }     关于对话框已经完成了,我们接下去要做的是为视窗添加菜单,当选择菜单中的关于,我们就弹出“关于对话框”,让我们继续吧...     三、为视窗添加菜单     在SolutionView中双击Form1.cs打开Form1,在Toolbox->Win Forms中选择MainMenu,并在Form1中画出,在“TypeHere”字样处我们可以输入菜单条。     双击关于字样,系统会为我们添加该菜单条的处理代码,我们可以在其中添加打开"关于对话框"的代码:     protected void button1_Click (object sender,   System.EventArgs e)   {   AboutDlg dlg = new AboutDlg();///分配AboutDlg对象   dlg.ShowDialog();///显示对话框   }     好了,我们的程序写好了,让我们按F5看看效果吧!     后记:C#的功能远远不止与此,本文的目的是让用过VC6的朋友对C#中   WINDOWS应用程序的开发尽快上手,只当抛砖引玉。
4 浏览器网络编程(共两周) 4.1 浏览器工作原理(老师讲解1学时,学生理解1学时) 浏览器工作原理如图4-1所示。 图4-1 浏览器工作原理 (1) 浏览器分析超链指向页面的 URL。 (2) 浏览器向 DNS 请求解析 www.tsinghua.edu.cn 的 IP 地址。 (3) 域名系统 DNS 解析出清华大学服务器的 IP 地址。 (4) 浏览器与服务器建立 TCP 连接 (5) 浏览器发出取文件命令: GET /chn/yxsz/index.htm。 (6) 服务器 给出响应,把文件 index.htm 发给浏览器。 (7) TCP 连接释放。 (8) 浏览器显示“清华大学院系设置”文件 index.htm 中的所有文本 4.2 浏览器功能结构(老师讲解1学时,学生理解1学时) 浏览器程序功能结构如图4-2所示。 图4-2 浏览器功能结构 1) 浏览器有一组客户、一组解释程序,以及管理这些客户和解释程序的控制程序。 2) 控制程序是其中的核心部件,它解释鼠标的点击和键盘的输入,并调用有关的组件来执行用户指定的操作。 3) 例如,当用户用鼠标点击一个超链的起点时,控制程序就调用一个客户从所需文档所在的远地服务器上取回该文档,并调用解释程序向用户显示该文档 4) HTML 解释程序是必不可少的,而其他的解释程序则是可选的。 5) 解释程序把 HTML 规格转换为适合用户显示硬件的命令来处理版面的细节。 6) 许多浏览器还包含 FTP 客户,用来获取文件传送服务。 7) 一些浏览器也包含电子邮件客户,使浏览器能够发送和接收电子邮件 8) 浏览器将它取回的每一个页面副本都放入本地磁盘的缓存中。 9) 当用户用鼠标点击某个选项时,浏览器首先检查磁盘的缓存。若缓存中保存了该项,浏览器就直接从缓存中得到该项副本而不必从网络获取,这样就明显地改善浏览器的运行特性。 10) 但缓存要占用磁盘大量的空间,而浏览器性能的改善只有在用户再次查看缓存中的页面时才有帮助。 11) 许多浏览器允许用户调整缓存策略。 4.3 浏览器设计(老师讲解2学时,学生设计2学时) (1)浏览器功能设计 浏览器功能设计要确定设计好的浏览器需要具备哪些功能,以及这些功能是以什么方式进行实现,这个步骤相当于软件设计中的“需求分析”,其中必须保证基本功能的具备,即浏览器必须能够浏览Web页面。 (2)浏览器界面设计 浏览器界面设计要确定浏览器的页面布局,设定浏览器窗口上设置哪些功能菜单项、设置哪些功能按钮、设置哪些状态栏,它们各自的位置如何、属性如何、对应的变量如何等等。 (3)浏览器代码设计 浏览器代码设计要是确定对上述的设计的功能在代码上怎样实现,包括选用的程序语言和编程平台选择、程序代码的编写、程序代码的调试、程序功能的测试等等。 4.4 浏览器编程设计平台(老师讲解2学时,学生理解4学时) (1)VS2005编程平台 (2)WebBrowser类及其使用 (3)一些浏览器程序的代码分析 4.5 浏览器开发步骤(8天) (1)熟悉VS2005平台,建立项目(半天) 打开VS2005选择“创建项目”,进入“新建项目”对话框,如图4-1所示。 图4-1 “新建项目”对话框 在“新建项目”对话框的项目类型窗口中选中“Visual C#”作为项目开发语言,在模板窗口中选中“Windows 应用程序”作为项目开发模板,在“名称”、“位置”编辑框中输入自己设定的项目名字和项目存储位置,本讲义使用“CSharp浏览器”作为项目名称,如图4-2所示。 图4-2 输入新建项目的属性 完成输入内容后,单击“确定”按钮,进入项目VC#开发窗口Form.cs[设计]”,如图4-3所示。 图4-3 VC#开发窗口Form.cs[设计]” (2)界面设计(1天) ○1设计菜单栏如图4-4所示。(半天) 图4-4 设计菜单栏 设计“文件”菜单如4-5所示。 图4-5 设计“文件”菜单 设计“编辑”菜单如图4-6所示。 图4-6 设计“编辑”菜单 设计“查看”菜单如图4-7所示。 图4-7 设计“查看”菜单 设计“收藏”菜单如图4-8所示。 图4-8 设计“收藏”菜单 设计“工具”菜单如图4-9所示。 图4-9 设计“工具”菜单 ○2设计工具栏、用户区和状态栏如图4-10所示(半天) 图4-10 工具栏和状态栏 (3)功能代码编辑 ○1初始化代码(半天) 双击“Form”设计页面进入代码编写页面,如图4-11所示。 图4-11 代码编写页面 初始化页面代码如下: ////////////////////////////////////////////////////////
注意,此版本不包含源代码,只是一个绿色的可以随时打开的版本,开发工具为:delphi7+sqlserver2000我的PDF(Perfect Developer Frame),想要 简单,快速,健壮,因此我用的还是C/S结构,因为客户可不管你用的是什么最高新的技术!经过一两年的完善,以及几个小的项目的使用,基本上还能拿得出客户正式使用!现在拿出来征求大伙的意见,看看在哪方面还要做改进,以达到更好...如果您的意见很好,被我们实现在PDF上,那么您就可以得到一份PDF 插件版的源代码.诚心希望与您的交流:EMAIL:kingjit@163.comMSN:kingjit@163.comQQ:112876992=================================================本系统使用了绿色SQLSERVER 4.0,只供下载学习,版权归微软公司所有请下载后24小时内删除系统使用方法(纯绿色版本):1.下载并解压2.打开目录下的SERVERadmin.exe,并确保数据库已经启动3.打开CLIENTXiandi.exe即可使用,密码为空这个版本是没有完成的版本,但材料的进销存还是可以用的,请帮助测试==============================2005-10-12 jacky 第一次做开发记录以前所有的都没有做开发记录,所以很多功能都写了而无法查证,所以希望以后能坚持写下去,保留一份最完整的开发记录供后人查阅.*BUG:在单据审核后使用反审核及新增单据都会报已被审核不能修改.*NEW:单据在审核或反审核,结单或反结单时都会被记录在UserLog记录中.*NEW:新增公共部分的部门和人员表,以便在其他的功能中使用.*NEW:如果在编辑状态在GRID中移动,并且定义了Button的OnClick事件,则会自动触发 但要注意,只能在Col中增加Button并写事件或者在Col的OnButtonClick中写事件才行,在Grid的onButtonClick事件中写代码,则不会触发,要注意2005-10-14 jacky*NEW:把系统改为简繁自动切换界面的软件,界面用SILANG处理,报表用RMLOCAL.LOADDLL处理,UNIT里面用CS函数转换字符串*NEW:新增一个工具,LangTrans,来自动转换SIL语言文件,默认第一个语言是简体,第二个语言是繁体的转换2005-10-15 jacky*NEW:新增单据,会自动根据BILLTYPE及TABLE等自动生成BILLNO的生成格式信息,前缀默认为B开头*BUG:通用查询,过滤,报表窗口的DFM文件都有错误,不是OBJECT开头而是inherted*NEW:LangTrans完成*BUG:TFrmSysLog中,给尚未登出人员设置颜色时,没有检测FIELD是否存在,所以出错*NEW:在模版中创建FORM时就查询Dataset中是否有被LOOKUP的字段,如果有,则其FIELD的默认值填0,函数放在FUNCTION中*BUG:在审核时,会跳到编辑界面*NEW:把单据的录入窗口中,子表的录入新增按钮等放到GRID的右边*NEW:界面的状态栏改为9号字,看起来好看多了*NEW:单据中的字段现在也可以是常用的固定FIELDNAME自动转换成常用的中文标签*BUG:BILL模版中,结单的状态文字,错误的打成审核了*BUG:系统经常出现错误,及不稳定现象,应该是内存泄露,正在查...2005-10-16 jacky*BUG:内存泄露的问题,稍稍解决了一些,是否经得住考验还得测试*BUG:我觉得从表好象有问题,查询从表的时候,总是不带条件的,这样从表记录多了,该如何是好啊!所以想改一下其打开的方式*NEW:OK搞定从表重新的方式取得数据,从表不会出现没有条件的select * from detail table*NEW:以前是在DATASET的FIELD中设置只读,则表格标题为红色,必须有值,则标题显示蓝色,现在如果GRID的COLUMN也是只读,则也显示红色.*NEW:上面说的功能,把它写在了一个函数中,SetGridTitleColor,而且只在Dataset的AfterOpen中执行一次,这样程式的性能应该会有提高.2005-10-16 jacky*BUG:窗口的状态栏上显示文字的格子不够宽,加宽一些2005-10-18 jacky*TODO:在窗口的功能列上,在功能项上按右键,应该有一个加入收藏夹的功能*记忆:在FIELD的DEFAULTEXPRESS中填DATE表示默认当前日期*NEW:把KU中SELECT相关的过程中,设置表格宽度的参数部分,如果为负数,则不改变默认宽度*NEW:在功能项目上按右键,即有菜单项目加入到收藏夹中*NEW:AccountManager已经被改成双语版的了2005-10-23 jacky*TODO:新增一张单据的具体操作步骤如下: 1.从uBaseBill模版中继承建立一个FORM 2.建立好从表,并且从表的关键字都是固定名称:BillNO 3.把类名称改名,并保存单元,然后从自动建立列表中移除 4.在REGUNIT中注册此类 5.在MenuMoudle中建立一个菜单项,其中HINT要写上刚刚注册的类名称即可 6.ADSMain中commandtext,在FROM 后面加上表名称 7.ADSDETAIL的commandtext中一般只要写上"select * from 子表名称",即可 8.调整各dataset中字段显示的名称,及表格中的位置等等,后面做的工作就可以很灵活了,如添加LOOKUP字段及做统计等等工作了2005-10-25 jacky*NEW:旧的万能过滤感觉不太好使,所以换成了EHLIB自带的万能过滤,不知道好不好用*BUG:没有登录的情况下是不可以点收藏夹右键的*BUG:没有登录的情况下是不可以点修改密码的2005-10-26 jacky*BUG:修改导航功能,让其能正常显示与隐藏,边界大小等,哈完美解决*NEW:导航显示时,让界面也不出现灰色标题栏*WHY:系统参数设置FORM上没有光标出现,这种现象在其他FORM上好象偶尔也会出现==好象是解决了*NEW:在FrmMain中增加处理子窗口打开的消息,完全解决只要有子FORM打开,则功能列消失的功能*NEW:在系统管理中设置系统更新路径后,就可以在程序起动期间或是手动点工具栏按钮更新程序2005-10-29 jacky*NEW:如果进入GRID后,有写代码,按右键弹出,是不是会好一些呢?*NEW:在界面上按回车跳转的功能,遇到TDBMEMO等就不应该再跳了*NEW:在SELECT_FORM中,搜索栏位选择中,不再出现隐藏的字段了*NEW:SELECT_FORM中的MEMO字段要显示出文字*TODO:如果有把DataSet中的字段拉出来,变成文本框的录入,可以在其OnEnter和OnExit事件中选择PubEnter和PubExit事件,以达到进入编辑时,改变颜色,以醒目*NEW:如果是模版建立的窗口,则自动建立OnEnter和OnExit事件,以改变控件颜色*NEW:KU.GetParam函数有了重载的版本,即是可以有预设值的,而且也不会因为没有这个参数而出错*OK:先迪的材料进销存部分,已经完成库存数量之间的触发关系,所有单据在审核后数量才会改变2005-10-30 jacky

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧