2017年11月27日 C#MDI窗体创建&记事本打印&记事本查找、自动换行
MDI窗体第一个父窗体
把属性里的IsMdiContainer设置为true就可以了
父窗体连接子窗体
//创建一个新的类,用来连接别的窗体,并且别的窗体为唯一窗体
List<Form> F = new List<Form>();
private void opendao(Form f)
{
Form F1 = null;
bool isopen = false;
foreach(Form gf in F)
{
gf.Hide();
if(gf.Name == f.Name)
{
isopen = true;
F1 = gf;
}
} if (isopen)
{
f.Close();
F1.Show();
}
else
{
f.MdiParent = this;
f.WindowState = FormWindowState.Maximized;
f.Parent = panel1;
f.FormBorderStyle = FormBorderStyle.None;
f.Show();
F.Add(f);
} }
第一个按钮的连接或者别的也可以
//连接到第二个窗口 private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.Name = "";
opendao(f2); }
第二个按钮连接或者别的也可以
//连接到第二个窗口 private void button2_Click(object sender, EventArgs e)
{
Form3 f3 = new Form3();
f3.Name = "";
opendao(f3);
}
注:可以多个窗体连接只显示在父窗体里
记事本页面设置
private void toolStripMenuItem1_Click(object sender, EventArgs e)
{
pageSetupDialog1.Document = printDocument1;
DialogResult dr = pageSetupDialog1.ShowDialog(); if (dr == DialogResult.OK)
{ }
}
记事本打印
//注:第一个代码为绘画,将字符串绘画,重要! private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
string s = textBox1.Text;
Font f = new System.Drawing.Font("微软雅黑", 25.5f);
Brush b = new SolidBrush(Color.Red);
e.Graphics.DrawString(s, f, b, , );
} //打印 private void 打印PToolStripMenuItem_Click(object sender, EventArgs e)
{
printDialog1.Document = printDocument1;
DialogResult dr = printDialog1.ShowDialog();
if (dr == DialogResult.OK)
{
printDocument1.Print();
}
}
记事本打印预览
private void 打印预览VToolStripMenuItem_Click(object sender, EventArgs e)
{
printPreviewDialog1.Document = printDocument1;
printPreviewDialog1.ShowDialog(); }
记事本自动换行
private void 自动换行ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (textBox1.WordWrap)
{
//不自动换行
textBox1.WordWrap = false;
textBox1.ScrollBars = ScrollBars.Both;
自动换行ToolStripMenuItem.Checked = false;
}
else
{
//自动换行
textBox1.WordWrap = true;
textBox1.ScrollBars = ScrollBars.Vertical;
自动换行ToolStripMenuItem.Checked = true;
}
}
记事本新窗体查找
//此为第二个窗口的设置
Form1 F1;
public Form2(Form1 f1)
{
InitializeComponent(); F1 = f1;
}
int a = ;
private void button1_Click(object sender, EventArgs e)
{
string s = textBox1.Text; a = F1.textBox1.Text.IndexOf(s, a + );
if (a != -)
{
F1.textBox1.Select(a, s.Length);
F1.textBox1.Focus();
}
else
{
MessageBox.Show("无匹配项!");
}
}
//此为第一个窗口使用
private void 查找ToolStripMenuItem_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2(this);
f2.Owner = this;
f2.Show(); }
2017年11月27日 C#MDI窗体创建&记事本打印&记事本查找、自动换行的更多相关文章
- 2017年11月26日 C#流&&窗体对话框
C#流 在顶端加入using System.IO就可以使用流 StreamReder a = new StreamReder();//读取 前面什么都可以 = sr.ReadToEnd();//用法 ...
- 2016年11月27日 星期日 --出埃及记 Exodus 20:18
2016年11月27日 星期日 --出埃及记 Exodus 20:18 When the people saw the thunder and lightning and heard the trum ...
- WPS 表格筛选两列相同数据-完美-2017年11月1日更新
应用: 1.选出A列中的数据是否在B列中出现过: 2.筛选出某一批序号在一个表格里面的位置(整批找出) 3.其实还有其他很多应用,难描述出来... ... A列中有几百的名字,本人想帅选出B列中的名字 ...
- Python 爬虫练习(二)爬取补天公益SRC厂商域名URL (2017年11月22日)
介绍下: 补天是国内知名的漏洞响应平台,旨在企业和白帽子共赢. 白帽子在这里提交厂商漏洞,获得库币和荣誉,厂商从这里发布众测.获取漏洞报告和修复建议. 在2017年3月份之前,补天的厂商域名URL是非 ...
- [svc]linux常用手头命令-md版-2017年11月12日 12:31:56
相关代码 curl命令-网站如果3次不是200或301则报警 curl -o /dev/null -s -w "%{http_code}" baidu.com -k/--insec ...
- Saving James Bond - Easy Version 原创 2017年11月23日 13:07:33
06-图2 Saving James Bond - Easy Version(25 分) This time let us consider the situation in the movie &q ...
- 2017年2月27日Unicorn, US (148) and China (69), followed by the U.K. (10), India (9), Israel (5) and Germany (5).
Revisiting The Unicorn Club Get to know the newest crowd of billion dollar startups In 2013, when Ai ...
- 2016年11月27日--面向对象:多态、类库、委托、is和as运算符、泛型集合
1.虚方法 virtual 重写 override 父类中的方法,在子类中并不适用,那么子类需要自主更改继承的方法或者是属性,那父类中加了virtual关键字的方法才可以被子类重写,子类重写父类的方法 ...
- 2017年11月1日 初学者易上手的SSH-spring 01控制反转(IOC)
这章开始学习SSH中最后的一个框架spring.Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用. 首先就来学习一下I ...
随机推荐
- 清北学堂(2019 4 30 ) part 3
今天总的讲些算法,会了的话...看上去好厉害的样子: 1.老朋友动态规划DP: DP重点: 1.边界条件,开头不需处理的数据,比如斐波那契数列中的第一二项 2.转移方程,后面的项需要根据前面几项求出自 ...
- 如何自动在Eclipse里对指定类或接口生成要覆盖的方法?
我们经常遇到对对指定类或接口生成要覆盖的方法,但是我们不了解这些类和接口,完全手写不能保证完全正确,那么是否可以准确知道指定类或接口要被覆盖的方法,自动生成这些代码呢?是的,完全可以,按照下面步骤操作 ...
- Mysql内置功能《二》触发器
使用触发器可以定制用户对表进行[增.删.改]操作时前后的行为,注意:没有查询 一 创建触发器 # 插入前 CREATE TRIGGER tri_before_insert_tb1 BEFORE INS ...
- ocp题库变化,052新加的考试题及答案整理-32
32. Examine these commands and their output: • SQL> SELECT * FROM emp; • ENO ENAME • ---- ----- • ...
- js计算机样式window.getComputedStyle(ele,null)与
一.getComputedStyle兼容IE8以上,范户籍的计算样式的值都是绝对值,没有相对单位(如:width:10em; 它打印出来是160px) window.getComputedStyle( ...
- js返回上一级代码和刷新页面代码
返回上一级代码: <a href="javascript:;" onclick="history.go(-1);" class="icon_ba ...
- 一个简单的HTML病毒分析
一直就想写这篇东西了,仅仅是上班时说要上班,不写.回家后又忙着玩游戏,丢一边去了.如今仅仅好不务正业的开写了.希望头儿不会知道我的blog.哈哈 在非常久之前就对HTML的病毒非常感兴趣了,非常好奇怎 ...
- 升级Linux中的JAVA版本
首先查看本机中的JAVA版本 如何需要卸载掉现有的JAVA版本的话,可以使用rpm -qa | grep java 和 rpm -e xxx --nodeps进行卸载 登录到JAVA官方下载界面,提供 ...
- 模块time, datetime的用法
一. time time库提供了各种操作时间的方法 1. time.asctime([tuple]):将一个时间元组转换成一个可读的24个时间字符串. >>> time.asc ...
- scrapy连接MySQL
Scrapy中连接MySQL所需要做的工作如下: 1.settings中需要设置的部分 # 启动管道组件 ITEM_PIPELINES = { 'QianChengWuYu.mongoDBPiplel ...