奥萨瓦·本·萨卡

导航

C#初学第十四天

. 复习
class Person
{
private string name;
private char sex;
private int age;
public Person(string name,char sex,int age)
{
this.name=name;
public string Name
{
get{return name;}
}
this.sex=sex;
public char Sex
{
get{return sex;}
}
this.age=age;
public int Age
{
get{return age;}
}
}
}
class Teacher:Person
{
private string work;
public Teacher(string name,char sex,int age,work):base(name,sex,age)
{
this.work=work;
}
public void Tsay()
{
Console.WriteLine("我叫{0},我是{1}老师,今年{2}岁,是教{3}的老师",Name,Sex,Age,work);
}
}
class Student:Person
{
private string study;
public Student(string name,char sex,int age,string study):base(name,sex,age)
{
this.study=study;
}
public void Ssay()
{
Console.WriteLine("我叫{0},是{1}同学,今年{2}岁了,是学{3}的学生",Name,Sex,Age,study);
}
}
这是在类中定义的父类和子类,在主函数中直接调用 父类 进行传参
2. 用is 和as进行判断 在主函数中调用其方法 就可以了,使用方法
实例名 is 类型名
如果实例名是true就返回该类型
如果无法转换就返回false
该类型的变量=实例名as 该类型名 如果实例可以转换该类型就返回一个转换好的对象
3. 用foreach遍历集合里的内容 就题使用方法如下:
List<string>l=new List<string>();
string str="";
while(true)
{
Console.WriteLine("随便输入");
str=Console.ReadLine();
if(str=="q")
{
break;
}
l.Add(str);
Console.WriteLine("输入成功");
}
//Consolo.WriteLine(string.Join(", ",l.ToArray())); //一个利用字符串输出集合.ToArray()可以集合转换成数组
foreach(string str1 in l)
{
Console.WriteLine(str1+", "); //这里是遍历复制
}
Console.ReadKey();
4. 父类与子类
父类型的变量,可以引用子类对象
Person p;
Teacher th=new Teacher();
p=th;
子类的变量,可以引用父类型引用相同的子类的对象
Teacher th2;
Person p=new Person();
th2=(Teacher)p;
5. 集合
ArraryList 有序集合 与数组一样
HashTable 无序标签集合 直接用标签查找
这两个集合存放的是object类型数据
is与as
变量is 类型名
该类型的变量=变量as类型名
用已经确定类型的集合
泛型集合
List<T> type
Dictionary<Tkey,TValue>
6. WinForm应用程序
一样从Main开始运行(Program.cs)
Application.Run()方法里面实例化窗体
窗体就是一个类,设计窗体就是设计窗体类
每个窗体都有两个文件
Form1.cs
Form1.Designer.cs
与微软提供的设计器一样,只用设计器来修改窗体就可以
设计窗体就用工具箱里的控件
7. 窗体常见的属性
AcceptButton 指定默认回车窗口
CancelButton 指定ESC键按钮
BackColor 修改背景颜色
ForeColor 修改"字体"颜色,就是修改前景颜色
BackGroundImage 导入图片
BackGroundImageLayout 图片布局
Cursor 选择进入光标的样子
ControlBox 是否显示标题栏的控制按钮
MaximizeBox 确定标题栏的右上角是否有最大化框
minimizeBox 确定标题栏的右上角是否有最小化框
Font 显示字体的样式
Icon 确定标题栏的图标
Location 确定窗体的位置
ShowIcon 是否在标题栏显示图标
ShowInTaskBar 程序运行时是否在任务栏中显示
Size 窗体的大小
TopMost 是否显示在其他窗体的前面
WindowsState 程序运行时初始的样子(最小 最大)
8. Button常见的属性
Image 放在上面的图片
ImageAlign 图片的布局方式
TextAlign 控件上显示文本的对齐方式
Enable 是否可用该控件
Visible 是否隐藏该控件
9. 简单的事件
当点击某个按钮(做某个动作的时候),应用程序可以执行一段代码,这个过程就称为事件
事件本质上就是方法
如何添加事件
选中要添加事件的控件
在属性窗口中添加相应的方法
在代码区域中写执行代码即可
10. 常见的鼠标事件
Click 终端点击
MouseClick 鼠标点击
MouseMove 鼠标移动
MouseEnter 鼠标进入
MouseLeave 鼠标离开
11. 窗体本身是一个类,显示前需要实例化,需要调用Show方法或ShowDialog方法才能显示
Show方法执行后 原窗体还能运行
ShowDialog执行后,只有当该窗体结束后,原窗体才能运行
12. MessageBox的使用
DialogResult dr=MessageBox.Show("显示可视区域提示信息","标题栏的提示信息",MessageBoxButtons.AbortRetryIgnore,MessageBoxIcon.Warning,MessageBoxDefaultButton.Button3);

MessageBoxButtons.AborRetryIgnore 选择按钮类型与数量
MessageBoxIcon.Warning 选择显示默认图标
MessageBoxDefaultButton.Button3 选择默认按钮
13. Label和LinkLable
在开始菜单中,运行能执行的代码,这里都可以写
System.Diaanosttics.Process.Start(@"C:\program Files\CodeBlocks\codeblocks.exe");

 

public partial class Form1 : Form
{
int i=0;
Form2 fom2;
public Form1()
{
InitializeComponent();
}

private void btnCreate_Click(object sender, EventArgs e)
{
fom2 = new Form2();
btnCreate.Enabled = false;
btnShow.Enabled = true;
btnHide.Enabled = true;
btnDispose.Enabled = true;
}

private void btnShow_Click(object sender, EventArgs e)
{
fom2.Show();
}

private void btnHide_Click(object sender, EventArgs e)
{
fom2.Hide();
}

private void btnDispose_Click(object sender, EventArgs e)
{
fom2.Dispose();
btnCreate.Enabled = true;
btnShow.Enabled = false;
btnHide.Enabled = false;
btnDispose.Enabled = false;

}

private void Form1_MouseEnter(object sender, EventArgs e)
{
this.Text = "我来了";

}

private void Form1_MouseLeave(object sender, EventArgs e)
{
this.Text = "我走了";
}

private void button1_MouseEnter(object sender, EventArgs e)
{
System.Diagnostics.Process.Start("cmd");
System.Diagnostics.Process.Start("notepad");
System.Diagnostics.Process.Start("wmplayer");
}

private void btnb_MouseEnter(object sender, EventArgs e)
{
if (i==10)
{
MessageBox.Show("来嘛,继续追我啊!!!");
}
Random r = new Random();
int xc=this.ClientSize.Width - btnb.Width;
int yc = this.ClientSize.Height - btnb.Height;
int xck = r.Next(0,xc + 1);
int yck = r.Next(0,yc+1);
Point p = new Point(xck,yck);
btnb.Location = p;
i++;
}

private void btnx_Click(object sender, EventArgs e)
{
MessageBox.Show("喜欢你就说嘛!!!");
}

private void btnOver_Click(object sender, EventArgs e)
{
DialogResult dlt= MessageBox.Show("这里面的东西很重要", "真的要结束吗", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Asterisk,MessageBoxDefaultButton.Button1);
switch (dlt)
{
case DialogResult.Yes: MessageBox.Show("确定结束"); break;
//case DialogResult.Yes: this.Dispose(); break;
case DialogResult.No: MessageBox.Show("选择重试"); break;
case DialogResult.Cancel: MessageBox.Show("选择取消"); break;

}
}

}

 


class Ticket
{
private int juli;
public int Juli
{
get { return juli; }
}
private decimal jiage;
public decimal Jiage
{
get { return jiage; }
}
private double zhekou;

public Ticket(int juli)
{
if (juli<0)
{
throw new Exception("距离不能为负数");
}
this.juli = juli;
if (juli<=100)
{
zhekou = 1;
}
else if (juli<=200)
{
zhekou = 0.95;
}
else if (juli<=300)
{
zhekou = 0.9;
}
else
{
zhekou = 0.8;
}
jiage = (decimal)(this.juli * zhekou);
}
}

class student
{
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
private char sex;
public char Sex
{
get { return sex; }
}
private int age;
public int Age
{
get { return age; }
}
private int chinese;
public int Chinese
{
set { chinese = value; }
get { return chinese; }
}
private int math;
public int Math
{
get { return math; }
}
private int english;
public int English
{
get { return english; }
}
public student(string name,char sex,int age,int chinese,int math,int english)
{
this.name = name;
this.sex = sex;
this.age = age;
this.chinese = chinese;
this.math = math;
this.english = english;
}
public student(string name, char sex)
{
this.name = name;
this.sex = sex;
this.age = 18;
}
}
class Program
{
static void Main(string[] args)
{
student st = new student("小强",'男');
student sto = new student("小李",'女',19,90,89,95);

Console.ReadKey();

}
}

posted on 2011-11-24 00:03  奥萨瓦·本·萨卡  阅读(192)  评论(0编辑  收藏  举报