C#.NET 基本知识

更新时间:2023-11-10 14:29:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

思考题一:当文件扩展名出现大写,如何处理

//label1.Text = textBox1.Text.ToUpper();//实现字符大写 //label1.Text = textBox1.Text.ToLower();//实现字符小写 问题一:如何实现鼠标单击不同类的文件,而自动响应 用Switch...Case

文件的类别是根据扩展名来识别的

字符串的运算处理:对文件名进行处理,截子串,找特定字符,测算长度,大小写转换,截去两端空格,字符串的连接。

//label1.Text = textBox1.Text.Trim();//截取两端空格

//label1.Text = textBox1.Text.Length.ToString();//测长度 //label1.Text = \这是我的:\

//用substring()方法可以实现字符串的子串截取的功能,第一个参数表明起始位置,第二参数表明截多长

//label1.Text = textBox1.Text.ToUpper();//实现字符大写 //label1.Text = textBox1.Text.ToLower();//实现字符小写

string mystr = textBox1.Text.Substring(textBox1.Text.Length -3,3);//用string记录截取的三个字母

label1.Text = mystr; switch (mystr)

{ case \

MessageBox.Show(\图片文件\ break; case \

MessageBox.Show(\文本文件\ break; } 第三个问题:如何实现模式窗体的显示。

所谓模式窗体就是指当前窗体如果不关闭,则其他窗体不能成为活动窗体。 ShowDialog()方法实现本应用程序内部的“总在最前面”

设置窗体的TopMost属性值为True,则可又实现系统级的“总在最前面”。 processStartInfo类的对象在使用时需要有三个参数:外部可执行程序所在位置及应用程序的名称;应用程序将要打开的数据文档;工作目录 C:\\Program Files\\Microsoft Office\\Office14 添加对名空间Diagnostics;的引用;

声明一个.ProcessStartInfo类型的变量 为变量的文件名和参数赋值 1静态变量 2继承窗体 窗体方法:

close();//关闭当前窗体

show();//以非模块形式显示窗体(运行一次打开一次,运行到这行语句时不暂停,把该函数所有语句全运行完,所以可以重复运行这个函数)

showdialog();//以模块的形式显示窗体(打开的新窗体不关闭则不能继续打开新窗体,运行到这行语句时程序暂停,知道这个窗体关闭后再继续运行后面的代码,不能重复运行这个函数)

应用程序主窗体关闭时,应用程序结束(所有打开的窗体都关闭),主窗体为program中打开的那个窗体

hide();show();//等于设置控件visiable属性 strvalueA get可读 set赋值

有get set即可读写

private string strValueA;

public string StrValueA { get

{ return strValueA;} set

{strValueA = value;} } 1.声明类变量 2.对属性进行操作

好处——封装性 不容易轻易修改

Form1 myMainFrm = (Form1)this.Owner; 强制类型转换()

a=2.35; //double型 低精度到高精度需要强制转换 b=(int)a; int a=1 double b=a;

C#_窗体之间传值详解 一、构造函数法 实现的思路:

从Form1传递到Form2: 2个窗体即两个类,两个窗体间的数据传送,可以采用构造函数来实现。

从Form2返回到Form1,并传递数据:实例化Form2后,打f2用ShowDialog()方法,然后等待f2关闭时再回传数据到Form1。 实现步骤及代码:

1:新建两个窗口: Form1,Form2;

2:打开Form2,添加一个textBox:textBox1;添加一个Button:button1;然后添加一个构造函数:

//定义一个变量,用来传值。 public string returnValue ; public Form2(string txtValue) { InitializeComponent();

this.textBox1.Text = txtValue;}

然后在button1的单击事件中添加如下代码:

private void button1_Click(object sender, EventArgs e) { returnValue = this.textBox1.Text; this.Close(); }

3:Form1中添加一个textBox:textBox1;添加一个Button:button1;然后在button1的单击事件中添加如下代码:

private void button1_Click(object sender, EventArgs e) { string txtValue = this.textBox1.Text; Form2 f2 = new Form2(txtValue); f2.ShowDialog();

this.textBox1.Text = f2.returnValue; } 二、利用属性传递

如果我们需要将主窗体FMMain中的string strValueA的值传给FMChild,那么我们首先对strValueA进行如下处理: 1.在父窗体中声明属性 private string strValueA; public string StrValueA { get

{ return strValueA; } set

{ strValueA = value; }}

2.在父窗体中添加一个按钮,书写以下代码:

private void button1_Click(object sender, EventArgs e) { strValueA = \来自主窗体\;

frmChild fmChild = new frmChild() fmChild.Show(this); //或者用以下代码?

/* fmChild.Owner = this;

fmChild.Show();*/ }

3.子窗体FMChild中申明一个主窗体FMMain对象,并在相应事件过程中编写代码: private void button1_Click(object sender, EventArgs e) { Form1 myMainFrm = (Form1)this.Owner;

textBox1.Text = myMainFrm.StrValueA; } 三、利用一个公共方法

1.建立一个有两个窗体的工程项目,两个窗体的名称保留默认值Form1和Form2。并在两个窗体中各添加一个文本框和一个按钮,名称均保留默认值textBox1,button1。 2.在Form1中写一个公共的方法

public void Refresh_Method(string myStr) {textBox1.Text=”OK”+myStr;}

3.为Form1中的button1的单击事件编写代码

private void button1_Click(object sender, EventArgs e) { Form2 f2 = new Form2(); f2.Owner = this; f2.Show(); }

4. 为Form2的button1的单击事件编写代码

private void button1_Click(object sender, EventArgs e) { Form1 f1;

f1 = (Form1)this.Owner;

f1.Refresh_Method(\); }

5.测试,可以分别在两个窗体的文本框中输入相应内容,然后再单击按钮。

本文来源:https://www.bwwdw.com/article/wpzv.html

Top