此应用程序会提示您打开一个文件夹。然后,该应用程序会查看文件夹中的所有文件,并为每个 (.wav) 文件生成一个按钮。我的目的是在按下按钮时播放(.wav)文件。
事实上,我正在动态创建按钮。我使用button.Tag发送按钮编号,但我希望发送另一个包含 wav 文件完整路径的对象。我已经伪添加了它,但是我知道你不能button.Tag像我一样添加两个。所以我的问题是如何实现这一点。
public partial class Form1 : Form
{
public SoundPlayer Sound1;
public static int btnCount = 0;
public Form1()
{
InitializeComponent();
SetFolderPath();
}
private void Form1_Load(object sender, EventArgs e)
{
}
public void addDynamicButton(string folder, string fileName)
{
btnCount++;
string soundfilepath = folder + "\\" + fileName + ".wav";
Button button = new Button();
button.Location = new Point(20, 30 * btnCount + 10);
button.Size = new Size(300, 23);
button.Text = fileName; …Run Code Online (Sandbox Code Playgroud) 在阅读了端口和建议的端口之后,我发现为了遵守互联网号码分配机构(IANA)对私有端口的建议,您应该只使用49152到65535之间的端口.因此我尝试使用正则表达式来检查用户是否输入了该范围内的港口.我把这个拼凑起来非常令人头疼,我不得不阅读很多教程来获得这个远程正则表达式模式真的不是人类友好的.基本上我正在寻找比我更多知识的人来验证它是否正确.我的测试似乎表明了它,但也许我错过了一些我想确定的东西.
string pattern = @"^(6553[0-5]|655[0-2]\d|65[0-4]\d\d|6[0-4]\d{3}|5\d{4}|49[2-9]\d\d|491[6-9]\d|4915[2-9])$";
Run Code Online (Sandbox Code Playgroud)
问候!