一个小C#窗体程序

原文链接:http://www.cnblogs.com/wwan/archive/2010/04/02/1703168.html

这程序摘自《Head First in C#》一书,由东南大学出版社影印。

此程序的关键点的很多

1.Application.DoEvents()  //用于看到程序的渐变过程

2.while(Visible)    //为了使程序在未关闭前,背景色一直渐变

3.System.Threading.Thread.Sleep(10)  //程序在10秒后挂起

具体程序代码如下
 此窗体只有一个Button控件,使用Button的Click()事件来触发函数的执行代码如下和解释都在下面的源代码中,只copy出Click()事件中的代码:

 

ContractedBlock.gifExpandedBlockStart.gifButton_Click()
1 private void button1_Click(object sender, EventArgs e)
2 {
3 while (Visible)
4 {/*while(Visible)为了使程序在在没有关闭前颜色一直渐变,当关闭的时候突出循环*/
5
6 /*for语句中的c<254&&Visible是为了判断当程序关闭的时候退出循环,不然会产生延时推出程序,因为当关闭的程序的时候,
7 while(Visible)还为检测到,for语句仍在执行,直到两个for循环结束才会返回edit界面*/
8 for (int c = 0; c < 254&&Visible ; c++)
9 {
10 this.BackColor = Color.FromArgb(c, 255 - c, c);
11 Application.DoEvents(); //如果没有此句,程序无法正常执行,点击(X)时没有反应
12 //此线程在10s后挂起
13   System.Threading.Thread.Sleep(10);//使北背景颜色变得更慢些,便于观察,整个渐变过程次序10秒钟
14  
15 }
16 for (int c = 254&&Visible ; c >= 0; c--) //返回初始的颜色
17   {
18 this.BackColor = Color.FromArgb(c, 255 - c, c);
19 Application.DoEvents();
20 System.Threading.Thread.Sleep(10);
21 }
22 }
23 }

 

 

 

转载于:https://www.cnblogs.com/wwan/archive/2010/04/02/1703168.html

展开阅读全文
博主设置当前文章不允许评论。

一个弹出和隐藏窗体的小程序

05-29

1、有两个窗体;rn 2、第一个窗体有两个按钮,第一个按下去改变此窗体的背景颜色,第二个按下去隐藏第一个窗体弹出第二个窗体;rn 3、按下第二个窗体的“叉”隐藏第二个窗体,弹出第一个窗体;rn 4、按下第一个窗体的“叉”关闭此程序;rnrnrn我自己写了一个,但是我把全部子类都放到了主类中,感觉这样做不科学,想看看各位大大是怎么做的rnrnimport javax.swing.*;rnimport java.awt.*;rnimport java.awt.event.*;rnpublic class WindowTestrn static Wframe fr=new Wframe();rn public static void main (String[] args) rn fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //按“叉”结束程序rn rn static class Wframe extends JFrame //第一个窗体类rn rn Toolkit kit=Toolkit.getDefaultToolkit(); //获取屏幕大小,用于设置窗体大小和位置rn Dimension Ssize=kit.getScreenSize();rn Wframe()rn rn rn setTitle("第一个窗体");rn setSize(Ssize.width/2,Ssize.height/2); //设置窗体大小rn setLocation(Ssize.width/4,Ssize.height/4); //设置窗体位置rn add(new Wpanel());rn setVisible(true);rn rn rn rn rnstatic class Wpanel extends JPanel //第一个窗体的panelrnrn rn JButton button1=new JButton("Color");rn JButton button2=new JButton("Change");rn JFrame fr2=new JFrame("第二个窗体"); //第二个窗体rn Toolkit kit=Toolkit.getDefaultToolkit();rn Dimension Ssize=kit.getScreenSize();rn Wpanel()rn rn add(button1);rn add(button2);rn fr2.setSize(Ssize.width/2,Ssize.height/2);rn fr2.setLocation(Ssize.width/4,Ssize.height/4);rn button1.addActionListener(new ActionListener() //第一个按钮事件,改变窗体颜色rn rn public void actionPerformed(ActionEvent e)rn rn setBackground(Color.red);rn rn rn );rn button2.addActionListener(new ActionListener() //第二个窗体事件,隐藏第一个窗体,弹出第二个窗体rn rn public void actionPerformed(ActionEvent e)rn rn fr.setVisible(false);rn fr2.setVisible(true);rn rn rn );rn class frEvent extends WindowAdapter //第二个窗体的窗体事件类rn rn public void windowClosing(WindowEvent e) //弹出第一个窗体,隐藏第二个窗体rn rn fr.setVisible(true);rn fr2.setVisible(false);rn rn rn fr2.addWindowListener(new frEvent());rn rn rn rn 论坛

没有更多推荐了,返回首页