C#小案例2

通过工具箱添加panel控件,四个label控件,button按钮,页面设置如下图:

        Control FrmContainer = new Control();//实例化Control类

        bool isbool = true;//是否开启了屏保

        int fontSize = 0;//字休大小

        public Point mouse = new Point(0, 0);//记录鼠标的位置

 

        private void button1_Click(object sender, EventArgs e)

        {

            preview();//对预览进行初始化

        }

        public void preview()

        {

            this.FormBorderStyle = FormBorderStyle.Sizable;//使窗体有边框

            this.WindowState = FormWindowState.Normal;//使窗体恢复默认大小

            this.BackColor = Color.Gainsboro;//设设置窗体的背景颜色

            panel1.Visible = true;//显示该控件

            multimedia(panel1);//设置窗体中各控件的样式

            timer1.Start();//启动计时器

        }

        public void LabelVisible(bool n)

        {

            label1.Visible = n;//隐藏或显示该控件

            label2.Visible = n;

            label3.Visible = n;

            label4.Visible = n;

        }

        public void multimedia(Control panel)

        {

            LabelVisible(true);//显示要移动的文本

            if (panel.Name == "form1")//如果父级窗体是当前窗体

            {

                isbool = false;//隐藏

                fontSize = 20;//设置字体大小

            }

            else

            {

                isbool = true;//显示

                fontSize = 10;//设置字体大小

            }        

 

            label1.Text = "今天是星期六";//设置文本

            label1.Parent = panel;//设置父级控件

            label1.Font = new Font("楷体", fontSize, FontStyle.Bold);//设置字体样式

            label2.Parent = panel;//设置父级控件

            label2.Text = "今" + "\n" + "天" + "\n" + "是" + "\n" + "星" + "\n" + "期" + "\n" + "六";//设置纵向文本

            label2.Font = new Font("楷体", fontSize, FontStyle.Bold);//设置字体样式

            label3.Text = "六期星是天今";//设置文本

            label3.Parent = panel;//设置父级控件

            label3.Font = new Font("楷体", fontSize, FontStyle.Bold);//设置字体样式

            label4.Text = "六" + "\n" + "期" + "\n" + "星" + "\n" + "是" + "\n" + "天" + "\n" + "今";//设置纵向文本

            label4.Parent = panel;//设置父级控件

            label4.Font = new Font("楷体", fontSize, FontStyle.Bold);//设置字体样式

 

 

            panel.Visible = isbool;//隐藏或显示

            button1.Visible = isbool;//隐藏或显示

            label1.Top = panel.Height / 4;//设置当前控件的显示位置

            label3.Top = (panel.Height / 4) * 3;//设置当前控件的显示位置

            label3.Left = 0 - label2.Width;//设置当前控件的显示位置

            label4.Left = (panel.Width / 4) * 3;//设置当前控件的显示位置

            label4.Top = 0 - label2.Height;//设置当前控件的显示位置

            label2.Left = panel.Width / 4;//设置当前控件的显示位置

            FrmContainer = panel;//记录父级控件

        }

 

        private void timer1_Tick(object sender, EventArgs e)

        {

            //文字从右到左滚动

            label1.Left = label1.Left - 2;//向左移动

            if ((label1.Left + label1.Width) < 1)//当超出左边界时

                label1.Left = FrmContainer.Width;//在右边出现

            //文字从下到上滚动

            label2.Top = label2.Top - 1;//向上移动

            if ((label2.Top + label2.Height) < 1)//当超出上边界时

                label2.Top = FrmContainer.Height;//在下边出现

            //文字从左到右滚动

            if (label3.Left > FrmContainer.Width)//如果超出右边界

                label3.Left = 0 - label2.Width;//在左边出现

            else

                label3.Left = label3.Left + 2;//向右移动

            //文字从上到下滚动

            if (label4.Top > FrmContainer.Height)//如果超出下边界

                label4.Top = 0 - label4.Height;//在上边出现

            else

                label4.Top = label4.Top + 1;//向下移动

            //如果在屏保情况下,鼠标移动

            if ((mouse.X != Control.MousePosition.X || mouse.Y != Control.MousePosition.Y) && panel1.Visible == false)

                preview();//恢复预览状态

        }

 

        private void Form1_Load(object sender, EventArgs e)

        {

            LabelVisible(false);//隐藏要移动的文本

        }

结果如图所示:通过点击预览,显示移动的文本。

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值