精华内容
下载资源
问答
  • C#WinForm窗体项目实现音频文件按指定时间播放 详细实现(无需数据库支持) 该项目实现的功能如下: 1.播放mp3文件; 2.播放mp4文件; 3.定时播放mp3或mp4文件。 ...

    C#:WinForm窗体项目实现音频文件按指定时间播放 详细实现(无需数据库支持)

    该项目实现的功能如下:
    1.播放mp3文件;
    2.播放mp4文件;
    3.定时播放mp3或mp4文件。

    先来看运行效果:
    操作面板:

    1
    操作演示:
    (这个水印去不掉了因为我是穷苦的免费用户。还有,若输入的时间是15:28默认应该播放的时间是当天15:28:00,超过这个时间则失效)
    在这里插入图片描述

    实现过程:

    1.添加控件Windows Media Player

    该控件如下图所示:
    在这里插入图片描述
    在visual Studio的上方菜单栏的视图->工具箱->任意一个控件右键->选择项->COM组件->勾选Windows Media Player选项
    如下图所示
    在这里插入图片描述
    添加成功了后,就可以在工具箱里看到该控件。如下
    在这里插入图片描述
    将该控件拖入设计窗口即可。

    2.添加控件 button 并编写按键行为

    控件如下图所示:
    在这里插入图片描述
    按钮控件button1(外观:直接播放MP3)
    该控件实现打开文件对话框,选择MP3文件进行播放。具体代码如下:

            private void button1_Click(object sender, EventArgs e)
            {
                FileDialog open = new OpenFileDialog();
                this.axWindowsMediaPlayer1.settings.playCount = 1;//播放次数
                open.Filter = "*.mp3|*.mp3";
                open.Title = "打开文件";
                if (open.ShowDialog() == DialogResult.OK)//打开对话框
                {
                    axWindowsMediaPlayer1.URL = open.FileName;
                    axWindowsMediaPlayer1.Ctlcontrols.play();//播放文件
                }
            }

    按钮控件button2(外观:直接播放MP4)

                FileDialog open = new OpenFileDialog();
                //wxWindowsMediaplayer1是控件名
                this.axWindowsMediaPlayer1.settings.playCount = 1;//播放次数
                open.Filter = "*.mp4|*.mp4"; //文件格式
                open.Title = "打开文件";
                if (open.ShowDialog() == DialogResult.OK)//打开对话框
                {
                    axWindowsMediaPlayer1.URL = open.FileName;
                    axWindowsMediaPlayer1.Ctlcontrols.play();//播放文件
                }
    3.添加控件dataGridView

    该控件实现记录用户自行添加的播放列表
    控件如下图所示
    在这里插入图片描述
    将控件拖入设计窗口,右键控件选择编辑列->添加,如下图所示
    在这里插入图片描述
    点击该控件跳转倒代码部分,添加代码:

            private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
            {
                dataGridView1.BackgroundColor = Color.White;//背景颜色
                this.dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
            }
    4.添加控件button(外观:选择文件)及控件textBox(只读)

    这两个控件实现打开文件及显示文件位置。
    将button控件和textBox控件拖入设计框中。
    控件如下图所示:
    在这里插入图片描述
    button控件(外观选择文件代码)

            private void button4_Click(object sender, EventArgs e)//opn file
            {
                        FileDialog open = new OpenFileDialog();
                axWindowsMediaPlayer1.settings.playCount = 1;//播放次数;
                open.Filter = "*.mp3|*.mp3";
                open.Title = "打开文件";
                if (open.ShowDialog() == DialogResult.OK)//打开对话框
                {
                    filename = open.FileName;
                    textBox1.Text = filename;
                }
            }

    textBox控件右键属性->将ReadOnly属性设置为True

    在这里插入图片描述

    5.添加控件label和控件textBox

    这两个控件实现注释和允许用户输入设定播放时间的功能。
    控件如下图所示:
    在这里插入图片描述
    将label控件拖入设计窗口,并在属性中将外观改成播放时间,即可。
    其后的textBox控件也是拖入即可。

    6.添加控件button(外观:添加)及控件button(外观:删除)

    实现将步骤4和步骤五的内容添加到步骤3的表中以及从dataGridView中删除数据。
    控件如下图所示:
    在这里插入图片描述
    button(外观:添加)的代码

            private void button3_Click(object sender, EventArgs e)
            {
                if (filename == null || textBox2.Text == null)//检查输入
                    MessageBox.Show("选择文件与播放时间均不能为空!");
                else
                {
                    try
                    {
                        DateTime.Parse(textBox2.Text);
                        //MessageBox.Show(DateTime.Parse(textBox2.Text).ToString());
                        DataGridViewRow row = new DataGridViewRow();
                        int index = dataGridView1.Rows.Add(row);
                        dataGridView1.Rows[index].Cells[0].Value = index + 1;//将信息记录到dataGridView的第index行开始的第1个单元格中
                        dataGridView1.Rows[index].Cells[1].Value = filename;
                        dataGridView1.Rows[index].Cells[2].Value = textBox2.Text;
                    }
                    catch (FormatException ex)//异常捕获
                    {
                        MessageBox.Show("不是正确的时间格式。例如:八点三十分应该写成:8:30或8:30:00或08:30:00");
                    }
                   
                }
            }

    button(外观:删除)的行为代码:

            private void button5_Click(object sender, EventArgs e)//deldete row删除选中行
            {
                if (this.dataGridView1.SelectedRows.Count > 0)
                {
                    dataGridView1.Rows.Remove(dataGridView1.SelectedRows[0]);
                }
            }
    7.添加控件button(外观:开始执行)

    该控件将播放dataGridView中的待执行记录。
    该控件如下图所示:
    在这里插入图片描述
    控件代码:

            private void button6_Click(object sender, EventArgs e)//开始执行按钮
            {
                int number = dataGridView1.Rows.GetRowCount(DataGridViewElementStates.Visible);
                MessageBox.Show("开始执行"+(number-1).ToString()+"条记录。");
                playlist = new string[number+1, 2];
                for (int i=0; i < number; i++)
                {
                    if (dataGridView1.Rows[i].Cells[1].Value != null && dataGridView1.Rows[i].Cells[2].Value != null)
                    {
                        playlist[i,0]=dataGridView1.Rows[i].Cells[1].Value.ToString();//存放文件路径
                        playlist[i,1] = dataGridView1.Rows[i].Cells[2].Value.ToString();//存放播放时间                
                    }
                }
            }
    8.添加时间控件timer

    该控件控制刷新列表的执行状态。
    从工具箱中将timer控件拖入设计窗口中。
    如下图所示:
    在这里插入图片描述
    双击它跳转到代码编写处。
    添加行为代码:

            private void timer1_Tick(object sender, EventArgs e)//定时播放
            {
                this.label1.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                //this.label1.Text = DateTime.Now.ToString("T");
                TimeSpan ts;//时间间隔
                j= dataGridView1.Rows.GetRowCount(DataGridViewElementStates.Visible);
                if (playlist != null)
                {
                    for (int i = 0; i < j; i++)
                    {
                        if (playlist[i, 1]!=null)//为了保证运行不中断,此步检查非常必要!
                        { 
                		ts = DateTime.Parse(playlist[i, 1]) - DateTime.Now;
                		if (-1 < ts.TotalSeconds && ts.TotalSeconds < 0)//若达到条件则播放文件
                		{
    	             		axWindowsMediaPlayer1.URL = playlist[i, 0];
                         		axWindowsMediaPlayer1.Ctlcontrols.play();//播放文件  
                         		dataGridView1.Rows[i].Cells[3].Value = "已播放";
                    	}
                 		if ( ts.TotalSeconds < -10)
                         	    if (dataGridView1.Rows[i].Cells[3].Value == null)
                         		dataGridView1.Rows[i].Cells[3].Value = "时间失效";
                	    }
                	}
                }
            }       
    9.给窗口添加自定义的lcon

    选中窗口属性->窗口样式->Icon->选者准备好的*.ico文件。
    在这里插入图片描述
    效果如运行窗口左上所示。

    整个项目的实现不依赖数据库。

    工程源码资源已上传,可自行下载。

    以上。

    展开全文
  • 串口通信demon,基于C++/CLI winform 窗体应用的代码。实现设备的串口调试。
  • 自写博文https://blog.csdn.net/liangzixx/article/details/105298392里的工程源码。该项目实现的功能如下:1.播放mp3文件;2.播放mp4文件;3.定时播放mp3或mp4文件。
  • C#Winform窗体与界面设计

    万人学习 2017-08-01 19:28:12
    本课程是针对C#Winform开发人员的基础性课程,详尽的介绍C#Winform窗体与界面的设计,通过提供实例,让C#Winform开发人员掌握相关程序设计技巧,为后面学习完整的实战课程打下较好的基础。
  • ktv项目的伴唱原唱是分别下载伴奏和原唱么?功能该如何实现?用什么控件呢?
  • C#WinForm父级窗体内Panel容器中嵌入子窗体、程序主窗体设计例子 在项目开发中经常遇到父级窗体嵌入子窗体所以写了一个例子程序,顺便大概划分了下界面模块和配色,不足之处还望指点 具体展现效果链接地址:...
  • C# winform窗体程序的美化之路

    万次阅读 多人点赞 2017-12-26 16:53:31
    写在前面: 今天帮同学做毕业设计一个...强迫症的我当然不能忍受于是今天学习一下c#winform窗体程序的美化(我也是新手,各位大佬请多多指教)。 因为最近写的安卓程序中用了大量第三方开源框架,就想着c#会不会也有

    写在前面:

    今天帮同学做毕业设计一个简单的Windows窗体程序实现备忘录的效果,要求使用数据库,我想着很简单于是上手开始做,两天完成,于是同学拿去给老师检查,检查后老师认为不错功能实现完整。就是。。。界面太!丑!了!

    强迫症的我当然不能忍受于是今天学习一下c#winform窗体程序的美化(我也是新手,各位大佬请多多指教)。

    因为最近写的安卓程序中用了大量第三方开源框架,就想着c#会不会也有这样类似的东西,随手一百度还真让我搜到了

    CSkin 一个.Net的UI库。

    接下来我们就谈谈怎么用。

    首先官网下载 Cskin下载

    下载后得到一个压缩包

     

    解压得到以下文件

    注意这里的2.0和4.0并非这个UI库的版本,而是你的项目对应的.Net Framework的版本。

     

    我这里选择的是4.0的版本。

     

    打开vs创建一个windows窗体程序,并且将.Net Framework的版本调为4.0(注意是4.0不是精简版)如图示

     

    然后在工具箱中右键新建一个选项卡命名为Cskin

    直接将CSkin 4.0文件夹中的dll文件拖到这个选项卡下的空白处控件添加完成

     

    再往窗体拖拽控件使用就好了!!

     

    2020.11.11更新

    很多人说下载不了我直接挂一个度盘 度盘链接

    提取码:jihf

    展开全文
  • C# Winform 窗体美化(九、嵌入窗体

    千次阅读 2017-04-27 23:14:30
    九、嵌入窗体还是关于 Winform 窗体的一些操作问题,这次是研究了一个嵌入窗体,这次学习纯属偶然,项目中确实没遇到过这种需求。就是把别人的程序嵌入到自己的程序中,就像这样:这里我嵌入了测试显示器的程序 ...

    九、嵌入窗体

    还是关于 Winform 窗体的一些操作问题,这次是研究了一个嵌入窗体,这次学习纯属偶然,项目中确实没遇到过这种需求。就是把别人的程序嵌入到自己的程序中,就像这样:

    这里我嵌入了测试显示器的程序
    嵌入程序效果图

    这次学习得益于一片博客(引用一定要注明出处 ^_^):
    http://www.cnblogs.com/bitzhuwei/archive/2012/05/24/SmileWei_EmbeddedApp.html

    关于嵌入程序的资料,上面链接博客的作者写的非常详细了,而且也整理了相关的代码,可以下载学习。

    这里我自己也整理学习了一下,有需要可以下载。源码下载

    嵌入过程主要代码

    private void EmbedProcess(Process app, Control control)
    {
        //验证进程和控件非空
        if (app == null || app.MainWindowHandle == IntPtr.Zero || control == null) return;
        try
        {
            //核心代码:嵌入程序
            SetParent(app.MainWindowHandle, control.Handle);
        }
        catch (Exception) { }
        try
        {
            //移除嵌入的窗口的窗口标题栏
            SetWindowLong(new HandleRef(this, app.MainWindowHandle), GWL_STYLE, WS_VISIBLE);
        }
        catch (Exception) { }
        try
        {
            //将嵌入的窗口欧放置到合适位置,填满宽高
            MoveWindow(app.MainWindowHandle, 0, 0, control.Width, control.Height, true);
        }
        catch (Exception) { }
    }

    效果图

    这里可以看到嵌入程序的三个步骤:
    1. 嵌入程序
    2. 移除嵌入的窗口的窗口标题栏
    3. 将嵌入的窗口欧放置到合适位置,填满宽高

    截图感受一下:
    1.嵌入程序
    第一步

    2.移除嵌入的窗口的窗口标题栏
    第二步

    3.将嵌入的窗口欧放置到合适位置,填满宽高
    第三步

    疑问

    最后还是有一些疑问没有解决:
    1. 焦点的问题;
    2. 有些应用不能被嵌入;
    3. 有些应用嵌入位置可能出现异常;

    展开全文
  • 视频教程-C#Winform窗体与界面设计-C#

    千次阅读 2020-05-28 10:24:00
    C#Winform窗体与界面设计 二十多年的企业管理软件开发经历,熟知管理软...

    扫码下载「CSDN程序员学院APP」,1000+技术好课免费看

    APP订阅课程,领取优惠,最少立减5元 ↓↓↓

    订阅后:请点击此处观看视频课程

     

    视频教程-C#Winform窗体与界面设计-C#

    学习有效期:永久观看

    学习时长:568分钟

    学习计划:10天

    难度:

     

    口碑讲师带队学习,让你的问题不过夜」

    讲师姓名:武占文

    技术总监/研发总监

    讲师介绍:二十多年的企业管理软件开发经历,熟知管理软件的整个开发流程,熟练掌握VFP语言,掌握VB语言,了解JAVA、asp.net、CSS、HTML/HTML5等语言,使用C#语言开发企业管理软件七年以上,熟练掌握SQL server2000/2005/2008数据库的开发。负责企业新员工编程技术的培训工作。喜欢学习和了解新知识,喜欢解决编程中有挑战性的问题。

    ☛点击立即跟老师学习☚

     

    「你将学到什么?」

    本课程是针对C#Winform开发人员的基础性课程,详尽的介绍C#Winform窗体与界面的设计,通过提供实例,让C#Winform开发人员掌握相关程序设计技巧,为后面学习完整的实战课程打下较好的基础。

     

    「课程学习目录」

    第1章:开篇语
    1.课程介绍
    2.C/S与B/S模式
    第2章:菜单应用实例
    1.类WPS文字或Word的带历史信息的菜单
    2.菜单动态合并
    3.像开始菜单一样漂亮的菜单
    4.任务栏托盘菜单
    5.可以隐藏(显示)的菜单界面
    6.多级菜单及菜单分组
    7.从数据库动态加载的菜单
    第3章:工具栏设计
    1.带背景的工具栏
    2.浮动工具栏
    3.带下拉菜单的工具栏
    4.具有提示功能的工具栏
    第4章:状态栏设计
    1.在状态栏中显示检查框
    2.带进度条的状态栏
    3.状态栏中加入图标
    第5章:导航菜单界面
    1.左侧树状菜单界面
    2.OutLook导航菜单界面
    3.图形化的导航界面
    第6章:特色程序界面
    1.隐藏窗体的实现
    2.软件启动界面
    3.动态加载树形左侧菜单的主界面
    4.动态按钮的窗体界面
    第7章:特殊形状的窗体
    1.非矩形窗体
    2.建立字体形状窗体
    3.使控件大小随窗体自动调整
    4.带分隔栏的窗体
    5.随机更换主界面背景
    第8章:多媒体光盘
    1.自启动的多媒体光盘程序
    2.为触摸屏调用Windows屏幕键盘
    第9章:窗体效果
    1.制作鼠标穿透窗体
    2.窗体飞入飞出效果
    第10章:窗体动画
    1.窗体中的滚动字幕
    2.动画显示窗体
    3.制作闪烁的窗体
    4.实现任务栏通知窗体
    5.Flash动画形式的程序主界面
    第11章:标题栏窗体
    1.使窗体标题栏文字右对齐
    2.没有标题栏但可以改变大小的窗口
    第12章:设置窗体位置
    1.设置窗体在屏幕中的位置
    2.始终在最上面的窗体
    3.从桌面右下角显示的窗体
    第13章:设置窗体大小
    1.获取桌面大小
    2.在窗口间移动按钮
    3.限制窗体大小
    第14章:窗体控制技术
    1.在关闭窗口前加入确认对话框
    2.通过子窗体刷新父窗体
    3.拖动无边框窗体
    4.在线帮助技术(一)
    5.在线帮助技术(二)

     

    7项超值权益,保障学习质量」

    • 大咖讲解

    技术专家系统讲解传授编程思路与实战。

    • 答疑服务

    专属社群随时沟通与讲师答疑,扫清学习障碍,自学编程不再难。

    • 课程资料+课件

    超实用资料,覆盖核心知识,关键编程技能,方便练习巩固。(部分讲师考虑到版权问题,暂未上传附件,敬请谅解)

    • 常用开发实战

    企业常见开发实战案例,带你掌握Python在工作中的不同运用场景。

    • 大牛技术大会视频

    2019Python开发者大会视频免费观看,送你一个近距离感受互联网大佬的机会。

    • APP+PC随时随地学习

    满足不同场景,开发编程语言系统学习需求,不受空间、地域限制。

     

    「什么样的技术人适合学习?」

    • 想进入互联网技术行业,但是面对多门编程语言不知如何选择,0基础的你
    • 掌握开发、编程技术单一、冷门,迫切希望能够转型的你
    • 想进入大厂,但是编程经验不够丰富,没有竞争力,程序员找工作难。

     

    「悉心打造精品好课,10天学到大牛3年项目经验」

    【完善的技术体系】

    技术成长循序渐进,帮助用户轻松掌握

    掌握C#知识,扎实编码能力

    【清晰的课程脉络】

    浓缩大牛多年经验,全方位构建出系统化的技术知识脉络,同时注重实战操作。

    【仿佛在大厂实习般的课程设计】

    课程内容全面提升技术能力,系统学习大厂技术方法论,可复用在日后工作中。

     

    「你可以收获什么?」

    熟练掌握C#Winform窗体、菜单、工具栏、状态栏等技巧

     

    展开全文
  • 窗体间传值 今天得空,刚好看到网上好多人再找winform窗体间传值的问题,由于昨天项目的优化的感觉不错,就写了个C# winform窗体间传值的demo,希望能给需要的...C#winform窗体间传值,三种方法示例,注释详细。使...
  • C# winform窗体使用WebBrowser控件显示百度地图 1、效果展示 2、创建winfrom窗体应用程序,项目结构如下: 3、点开MapForm窗体,添加WebBroswer控件 4、主要代码 4.1、map.html <!DOCTYPE html> <...
  • 小编最近维护一个Winfrom窗体,是项目中CS端的主窗体,很多子窗体需要从主窗体获取值,同时子窗体还需要给主窗体回传值,下面来给大家介绍一下。 正文 本文中以主窗体为frmMain,子窗体为frmGroup ,两窗体之间的...
  • C# winform窗体技术点一

    2019-07-14 20:39:01
    很多窗体都会有导入功能,一般都会导入模板下载,所以这个时候需要使用到复制粘贴 private void labelX15_Click(object sender, EventArgs e) { FolderBrowserDialog dilog = new FolderBrowserDialog(); dilog.....
  • C# winform窗体实现图片轮播

    万次阅读 2018-07-05 15:13:01
    线程(但是winform中无法结束掉,第二次打开窗体图片占用) 1、定义一个方法设置控件 和线程时间 /// <summary> /// 改变图片 /// </summary> /// <param name="img">图片</param> .....
  • C# Winform 窗体美化(十、自定义窗体

    万次阅读 多人点赞 2017-07-26 22:40:41
    十、自定义窗体写在前面最近在做 winform 应用程序,需要自定义一种窗口的样式,所以就随便搞了一个简单的窗口。效果图有两种样式,界面如下: 无标题: 有标题: 关键词1、黑色描边边框对于窗口去掉原生的边框...
  • C# WinForm窗体及其控件自适应各种屏幕分辨率 一。说明   我们自己编写程序的界面,会遇到各种屏幕分辨率,只有自适应才能显的美观。实际上,做到这点也很简单,就是首先记录窗体和它上面控件的初始位置和大小,...
  • Winform窗体设计程序从台式电脑拷贝到笔记本电脑后,刚开始运行,界面可以显示完全,但后来出现界面显示不完全问题,发现Winform窗体实际运行大小(QQ截图)与size属性设置不一致。 尝试一: 认为是误设置了窗体的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,081
精华内容 4,832
关键字:

winform窗体项目