小编Rez*_*aei的帖子

在PlayStateChange Event中更改AxWindowsMediaPlayer URL时,它不会自动开始播放,只是更改为"Ready"状态

我的C#WinForms程序中有一个"AxWindowsMediaPlayer"控件.当我正常更改URLWindowsMediaPlayer1 的属性时,它工作正常并自动播放新的mp3文件.

当歌曲结束时,WindowsMediaPlayer1状态变为Stopped,我想下一步URL自动开始播放.

我使用了PlayStatChange事件,所以当玩家状态是Stopped,URL将改变,但不自动播放!

播放器进入Ready状态直到我按下WindowsMediaPlayer1上的播放按钮.

这是代码:

private void Form1_Load(object sender, EventArgs e)
{
    WindowsMediaPlayer1.URL = "6.mp3"; //Works fine      
}
private void button1_Click(object sender, EventArgs e)
{
    WindowsMediaPlayer1.URL = "4.mp3"; //Works fine. It changes the music.
}
private void WindowsMediaPlayer1_PlayStateChange(object sender, 
    AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e)
{
    if (e.newState == 1) //1 is for "Stopped" State
        WindowsMediaPlayer1.URL = "5.mp3"; 
    // Here is the problem. 
    // URL Will change but player …
Run Code Online (Sandbox Code Playgroud)

.net c# windows-media-player winforms axwindowsmediaplayer

5
推荐指数
1
解决办法
2657
查看次数

删除ListView中的项目

我在按钮动作中有一个循环用于删除我的空项目ListView,但问题是,当我按下按钮时,它只删除了单个项目.我的意思是:当一个接一个的时候,它不会删除项目:

例:

a1 = ""
a2 = "qwe"
a3 = ""
a4 = ""
a5 = "qwe"
Run Code Online (Sandbox Code Playgroud)

所以,点击按钮后,结果将是:

a2 = "qwe"
a3(or a4 idk) = ""
a5 = "qwe"
Run Code Online (Sandbox Code Playgroud)

我认为这很容易出现逻辑问题,但我无法弄明白.

for (int i = 0; i < listView1.Items.Count; i++) 
            {
                if (listView1.Items[i].SubItems[2].Text == "")
                {
                    listView1.Items[i].Remove();
                }
            }
Run Code Online (Sandbox Code Playgroud)

所以问题是循环在找到空值后跳过一次检查.我如何解决它?

.net c# listview winforms

5
推荐指数
1
解决办法
2471
查看次数

从DataGridView在运行时动态创建RDLC报告

我有一个AdvancedSearchForm带有DataGridView控件的表单dgrData和一个ReportC#Winform中的按钮.单击该按钮Report,我希望带有ReportView控件的表单显示与DataGridView中具有相同列标题的列相同的列.

使用DataGridView和Button进行表单

在此输入图像描述

单击按钮"报告"时预期的输出:

在此输入图像描述

我的DatagridView(dgrData)控件与

  1. SQL
“Select Id, c_Name from Country”
Run Code Online (Sandbox Code Playgroud)
  1. 的ConnectionString
server=localhost;User Id=root;password=root;Persist Security Info=True;database=country_state
Run Code Online (Sandbox Code Playgroud)

要在运行时将数据加载到网格,我准备以下DataAdapter:

DataAdapter dataAdapter = DataAdapter.Current;
// I am passing the SQL statement and the table name to my database which knows the ConnectionString within the LoadData function

DataTable dt0 = dataAdapter.LoadData("select Id, c_Name from `country`", "country");
if (dt0 != null) {
   dgrData.DataSource = dt0;
}
Run Code Online (Sandbox Code Playgroud)

是否可以调用包含默认reportviewer …

c# reportviewer datagridview rdlc winforms

5
推荐指数
1
解决办法
6801
查看次数

如何创建这样的任务面板?

在 Visual Studio 2008 中,
如果创建一个窗体并在其上放置一个控件,则
可以通过“属性”窗口编辑控件的属性。


除了“属性”窗口之外,某些控件还可以通过其他方式更改其属性。

它看起来像这样:

似乎所有具有此窗格的控件都具有相同的样式,
这意味着它是由 Visual Studio 提供
的,控件的制造商只是选择要包含在其中的项目,
例如字段和可打开一些链接的可点击链接视窗。

所以我的问题是:
这个窗格控件的名称是什么,
我如何创建一个?

.net c# visual-studio-2008 windows-forms-designer winforms

5
推荐指数
1
解决办法
618
查看次数

C# Windows 窗体半不透明

我已经阅读了许多有关 C# 中 Windows 窗体的不透明度/透明度的主题,但这不是我想要获得的效果。我希望Form是100%透明,但是透明度是Panel可调的,并且透明效果转移到了表单后面的元素(Windows桌面、网络浏览器等)。所附照片显示了我想要获得的效果(我在图形程序中制作了它们)。我将感谢您的帮助。

这是一张显示我想要的效果的照片

c# transparency panel opacity winforms

5
推荐指数
1
解决办法
6715
查看次数

PowerShell 中的 Windows 窗体事件 - PowerShell 中的 Sender 和 EventArgs

如何在 PowerShell 中正确处理 Windows 窗体控件的事件并使用SenderEventArgs

在 PowerShell 中遵循 C# 代码的等价物是什么?

button.MouseClick += (sender, e) => {
    MessageBox.Show($"{((Control)sender).Name} \n {e.Location}");
};
Run Code Online (Sandbox Code Playgroud)

c# powershell events winforms

5
推荐指数
1
解决办法
1452
查看次数

如何在设计时显示 datagridview 行和项目

我想在设计模式/设计时显示 DataGridView 行。有没有办法实现这一目标?

我曾尝试使用此函数:datagridview1.Rows.Add();在控件的构造函数中,但行及其项目仅在runtime中显示。

为什么我需要在显示行及其项目的原因,设计时是我定制的外观DataGridView控件。因此,每次我进行更改,例如更改AlternatingRowColor、RowFont 等时,我都必须运行控件才能查看更改。

这会消耗时间。

如果我可以在设计时/设计模式中显示所有行,那么我将能够在我制作它们时立即看到更改,这将节省大量时间。

我定制的外观DataGridView控件Windows窗体和我使用C#

我不是在代码中定义控件,而是将控件从“控件”选项卡拖放到 Winform 上。

谢谢。

.net c# datagridview windows-forms-designer winforms

5
推荐指数
1
解决办法
2091
查看次数

剃刀页面:继承模型以在创建过程中添加字段

这些实体在虚拟上相当于我要完成的工作(实际上更复杂)。

我只需要在创建Article(SendToSubscribers字段)时才需要在表单中显示其他字段,这些字段就不是实体本身的一部分。

public class Article {
    public string Title { get; set }
}

public class ArticleCreateForm : Article {
    public bool SendToSubscribers { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

在cshtml中,用于创建/更新:

@model Article
...
@if (string.IsNullOrEmpty(Model.Id))
{
    <admin-input asp-for="SendToSubscribers" />
Run Code Online (Sandbox Code Playgroud)

不幸的是,这是我得到的错误:

'Article'不包含'SendToSubscribers'的定义,找不到可以接受的扩展方法'SendToSubscribers'接受类型为'Article'的第一个参数(您是否缺少using指令或程序集引用?)

如果方法根本不好,很抱歉,我来自PHP背景。

我猜这不是一个好的解决方案,那么我该如何纠正呢?谢谢。

c# asp.net-mvc razor asp.net-core

5
推荐指数
1
解决办法
184
查看次数

防止在窗体标题栏上单击鼠标右键显示系统上下文菜单

如何禁用右键单击表单标题栏并阻止显示系统上下文菜单:

在此处输入图片说明

帮助我摆脱这个问题

谢谢

.net c# forms winforms

5
推荐指数
1
解决办法
88
查看次数

如何使用预构建事件命令行将参数传递到 T4 模板

我需要将参数从预构建事件传递到 T4 模板。目前我正在使用以下预构建命令来构建我的 T4 模板文件,但我无法将参数传递给它。

"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\texttransform.exe" "$(ProjectDir)VersionGenerator.tt"
Run Code Online (Sandbox Code Playgroud)

我需要将参数传递给我的 VersionGenerator.tt 模板。

c# msbuild t4 visual-studio pre-build-event

5
推荐指数
1
解决办法
1526
查看次数