030集——自动弹出对话框、选择文件并播放wav音频文件(winform窗体)——C#学习笔记

如图所示,效果如下:

步骤如下:

新建一个winform窗体,双击界面,进入代码区:

复制(下面代码中命名空间内的代码)到(你的命名空间下),运行。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace WindowsFormsApp6
{public partial class Form1 : Form{private TextBox textBox1;private Button button1;public Form1(){InitializeComponent();this.button1 = new System.Windows.Forms.Button();this.textBox1 = new System.Windows.Forms.TextBox();this.SuspendLayout();// // button1// this.button1.Location = new System.Drawing.Point(192, 40);this.button1.Name = "button1";this.button1.Size = new System.Drawing.Size(88, 24);this.button1.TabIndex = 0;this.button1.Text = "Browse";this.button1.Click += new System.EventHandler(this.button1_Click);// // textBox1// this.textBox1.Location = new System.Drawing.Point(8, 40);this.textBox1.Name = "textBox1";this.textBox1.Size = new System.Drawing.Size(168, 20);this.textBox1.TabIndex = 1;this.textBox1.Text = "FIle path";// // Form1// this.AutoScaleDimensions = new System.Drawing.SizeF(5, 13);this.ClientSize = new System.Drawing.Size(292, 266);this.Controls.Add(this.textBox1);this.Controls.Add(this.button1);this.Name = "Form1";this.Text = "Platform Invoke WinSound C#";this.ResumeLayout(false);this.PerformLayout();}[System.Runtime.InteropServices.DllImport("winmm.DLL", EntryPoint = "PlaySound", SetLastError = true, CharSet = CharSet.Unicode, ThrowOnUnmappableChar = true)]private static extern bool PlaySound(string szSound, System.IntPtr hMod, PlaySoundFlags flags);[System.Flags]public enum PlaySoundFlags : int{SND_SYNC = 0x0000,SND_ASYNC = 0x0001,SND_NODEFAULT = 0x0002,SND_LOOP = 0x0008,SND_NOSTOP = 0x0010,SND_NOWAIT = 0x00002000,SND_FILENAME = 0x00020000,SND_RESOURCE = 0x00040004}private void Form1_Load(object sender, EventArgs e){}private void button1_Click(object sender, EventArgs e){OpenFileDialog dialog1 = new OpenFileDialog();dialog1.Title = "Browse to find sound file to play";dialog1.InitialDirectory = @"c:\";dialog1.Filter = "Wav Files (*.wav)|*.wav";dialog1.FilterIndex = 2;dialog1.RestoreDirectory = true;if (dialog1.ShowDialog() == DialogResult.OK){textBox1.Text = dialog1.FileName;PlaySound(dialog1.FileName, new System.IntPtr(), PlaySoundFlags.SND_SYNC);}}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/53510.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ZBrush入门使用介绍——12、折边

大家好,我是阿赵。   继续介绍ZBrush的功能。   如果拿一个立方体,进行CtrlD增加细分 会出现在边缘的线会被平滑的情况,这时候原来立方体的形状会发生一定的变化,不能保持原来的形状。 如果立方体真的只有8个顶点&#xff0…

266-基于Xilinx Kintex-7 XC7K325T 的12路光纤Switch交换平台

一、板卡概述 该系统是由两块模块组成,分别是基于Xilinx公司的FPGAXC7K325T-2FFG900 芯片,pin_to_pin兼容FPGAXC7K410T-2FFG900 的模块和一个FPGA夹层卡(FMC)模块。前者支持64bit DDR3容量2GByte,USB3.0接口;HPC的FMC连…

C++: set与map容器的介绍与使用

本文索引 前言1. 二叉搜索树1.1 概念1.2 二叉搜索树操作1.2.1 查找与插入1.2.2 删除1.2.3 二叉搜索树实现代码 2. 树形结构的关联式容器2.1 set的介绍与使用2.1.1 set的构造函数2.1.2 set的迭代器2.1.3 set的容量2.1.4 set的修改操作 2.2 map的介绍与使用2.2.1 map的构造函数2.…

【尚跑】2024陕西淳化天然氧吧半程马拉松赛149顺利完赛

1、赛事背景 奔跑美丽淳化,畅游天然氧吧。9月8日上午,2024淳化天然氧吧半程马拉松赛在淳化县润镇东街鸣枪开跑,4000名马拉松爱好者相聚美丽淳化,赏荞麦花海、闻硕果飘香,共同开启这场挑战自我、超越极限的奔跑之旅 本次…

flask下https教程

一、定义 linux 下flask https 协议 二、实现 linux 下flask https 协议 生成SSL证书和密钥文件。您可以使用工具如openssl来生成自签名SSL证书和密钥文件。运行以下命令生成证书和密钥文件: openssl req -x509 -newkey rsa:4096 -nodes -out cert.pem -keyout…

springboot 的共享session方案?

问:springboot 的共享session方案? 参考: https://juejin.cn/post/7195227930077691963分布式之session共享问题 4种解决方案及spring session的使用_分布式session共享方案-CSDN博客 什么是 Session ? 答:因为Http协…

JavaScript web API part1

web API 前言 变量声明 const优先,可变再改为let 原因: 语义化更好若以后变量不改变,就应用const声明实际开发中,react框架中基本都是从const [!IMPORTANT] 基本变量中数据若改变,则不可用const 数组,对…

计算机毕业设计Python+Tensorflow股票推荐系统 股票预测系统 股票可视化 股票数据分析 量化交易系统 股票爬虫 股票K线图 大数据毕业设计 AI

《Tensorflow股票预测系统》开题报告 一、研究背景与意义 随着信息技术的飞速发展和金融市场的日益复杂化,股票作为金融市场的重要组成部分,其价格波动受到广泛关注。传统的股票预测方法如技术分析和基本面分析,虽然在一定程度上能够辅助投…

如何查询、统计品牌在社媒平台的品牌声量?

现在各平台的竞争越来越激烈,企业想做好在社媒平台上的品牌营销,就需要时刻监测品牌声量的大小,比如企业品牌声量趋势、品牌sov值、搜索指数等相关指标,辅助衡量品牌宣传效果如何。那怎么去查询统计品牌声量情况呢?可以…

获取多行文本内容,去掉首尾空格、去掉空字符串,解析为文本数组

核心代码 // 获取多行文本内容,去掉首尾空格、去掉空字符串,解析为文本数组 getMultiLineTexts(textareaValue) {return textareaValue.split("\n").map((v) > v.split("\t").join("").trim()).filter((v, i, ar) &g…

数据库的操作:SQL语言的介绍

一.前言 SQL是一种结构化查询语言。关系型数据库中进行操作的标准语言。 二.特点 ①对大小写不敏感 例如:select与Select是一样的 ②结尾要使用分号 没有分号认为还没结束; 三.分类 ①DDL:数据定义语言(数据库对象的操作(结…

uniapp设置微信小程序的交互反馈

链接:uni.showToast(OBJECT) | uni-app官网 (dcloud.net.cn) 设置操作成功的弹窗: title是我们弹窗提示的文字 showToast是我们在加载的时候进入就会弹出的提示。 2.设置失败的提示窗口和标签 icon:error是设置我们失败的logo 设置的文字上…

MyBatis ——在java层面对MySQL数据库进行操作

目录 MyBatis 是一款优秀的 持久层框架,用于简化JDBC(java操作数据库)的开发; 使用MyBatis 查询所有用户数据的过程 Lombok是一个实用的]ava类库,能通过注解的形式 简化 JavaBean的代码 注解: 引入Myb…

【Leetcode152】乘积最大子数组(动态规划)

文章目录 一、题目二、思路三、代码 一、题目 二、思路 (0)读懂题意:题目的“连续”是指位置的连续,而不是说数字的连续,这是个大坑。 (1)确定状态:定义两个状态来记录当前子数组的…

Python 爬虫项目实战(一):爬取某云热歌榜歌曲

前言 网络爬虫(Web Crawler),也称为网页蜘蛛(Web Spider)或网页机器人(Web Bot),是一种按照既定规则自动浏览网络并提取信息的程序。爬虫的主要用途包括数据采集、网络索引、内容抓…

MySQL笔记2(DQL查询语言【条件、分组、排序、限制、子查询、左右连接、内连接、联合查询】)

DQL数据查询语言与项目高级查询实战 先安装数据库并创建一个库 并创建以下数据 /*创建部门表*/CREATE TABLE dept( deptnu INT PRIMARY KEY comment 部门编号, dname VARCHAR(50) comment 部门名称, addr VARCHAR(50) comment 部门地址 );/*某个公司的员工表*/ CREATE TABLE…

「ComfyUI」比 joy_caption 更好用的提示词反推模型!

前言 距离我们上次介绍 joy_caption 还没几天呢,这就又出新模型来与 joy_caption 一争高下了。 今天我们要介绍的是:Florence-2-X-PromptGen-v1.5,是在 Florence-2 的基础上进行精细调优的一款高级图像标注工具,专门为生成和标注…

Flutter框架——2.状态-路由-包-资源

文章参考了Flutter中国开源项目发起人杜文(网名wendux)创作的一本系统介绍Flutter技术的中文书籍《Flutter实战第二版》,网址:第二版序 | 《Flutter实战第二版》 https://book.flutterchina.club/#第二版变化 文章目录 一、状态管…

【C#跨平台开发详解】C#跨平台开发技术之.NET Core基础学习及快速入门

1. C#与.NET的发展历程 C#是由Microsoft开发的现代编程语言,最初伴随着.NET Framework发布。随着技术的进步,特别是针对跨平台开发的需求,Microsoft推出了.NET Core,这是一个开源且跨平台的框架,支持Windows、macOS和…

利用数据分析提升SEO排名的7种方法

我们都听过“大数据分析”这个词。科技让我们能够清晰地了解我们的活动和内容的表现——向我们提供了关于受众的宝贵信息,甚至可以精确到他们在Google和其他搜索引擎上使用的具体搜索词。 你已经在你的业务中使用数据分析了吗?如果是,你有利…