Tag: 控制

Windows窗体控件是否可以具有“仅限设计时”属性?

我希望允许我的控件的用户选择控件的许可方法。 选择来自枚举,因此他们必须选择我为他们设计的方法之一。 需要在运行时执行代码之前选择此许可证。 因此,我希望他们在设计时选择一个值。 此外,如果可以避免,我不希望此属性在运行时可写。 有没有办法让房产只在设计时提供?

寻找可以在WinForms应用程序中播放AVI文件的组件(.NET或COM / ActiveX)

我正在寻找可以托管在表单上的Windows Media Player控件之类的东西。 WMP对我不起作用,因为我需要一个可以按顺序播放连续播放的AVI文件播放列表的控件,以便从一个文件到下一个文件的转换无缝地发生(即video中没有任何故障或暂停)音频)。 使用WMP,文件之间总是有半秒左右的延迟。 有没有人知道可以做到这一点的控件(它可以是商业的还是开源的)? 我假设这样的东西包装了DirectX,那也没关系。

WPF自定义派生控件样式

我有一个从Button派生的自定义控件: class MyControl : Button{} 并且假设这个类是空的(没有成员)。 在应用程序的主窗口资源中,我使用的ResourceDictionary包含大多数WPF控件的样式(所谓的主题): 因此,窗口上的所有控件看起来都像是在该主题文件中定义的。 但是MyControl控件上的样式不受影响。 如何将MyControl看作与Button控件相同? 更新:BureauBlue.xaml中Button的样式没有键,并按以下方式定义: …

如何在表单上实现闪烁标签

我有一个显示消息队列的表单,并且可以更改此消息的编号。 我真的想在增加消息数量时改变标签(队列长度),以提高forms的可用性。 我应该实现自定义控件并使用其他线程或计时器来更改标签的颜色吗? 有人实现了这么的function吗? 实现这样的行为的最佳解决方案(更少的资源和更少的性能降级)是什么? 解: Form的组件带有计时器,可以限制每秒动画的数量,并对外部控件背景颜色实现淡出效果。

VLC远程控制VLC

我正试图从C#控制VLC媒体播放器。 我尝试使用.Net的FindWindow()命令在窗口上获取句柄,但是当我发现每次播放文件时窗口的名称都会改变。 我遇到的最大问题是将wm_commands发送到vlc ..这种方法适用于Winamp和Windows Media Player但是使用VLC似乎无法正常工作。 我读到VLC可以通过浏览器进行控制,但我不打算…我已经在其设置中看到它有一些可以调用的热键..但是它们可以被更改,如果我从中调用它们我的代码以某种方式…并且用户更改它们… bummer … 我有点卡住了……任何帮助都会很棒……索林

将简单绑定的解决方案扩展到’Text属性到多个控件以处理绑定到任何类型?

我的问题是 :如何超越编写一种技术的自定义实现, 以便为每种可能的数据类型将多个控件(没有内置DataSource属性的控件)数据绑定到简单属性…… 如下面的代码所述和演示 …以实现更强大的解决方案,该解决方案将独立于绑定是字符串,int还是其他类型。 我的猜测是:这将涉及反思; 但是,我被困在那一点上。 我正在寻找关于哪个“方向”下一步移动的战略建议,提示,线索,而不是完整的代码答案,但当然我感谢所有回复,如果你发布代码回复,我肯定会学习代码! Marc Clifton 2005年关于CodeProject 简单数据绑定的文章似乎展示了一种基于reflection的方法:但老实说,我并没有真正理解他的代码,而且就.NET来说,2005年是很久以前的。 背景:部分响应各种SO问题和答案,例如: 更新三个表单上的用户控件 :我已经发展出一种成功的技术,可以将各种控件的文本属性同时绑定到Public类中定义的一个源; 还能够使用定义一个扩展方法的静态类和两个公共方法“抽象”绑定过程的一些细节。 我已经validation了MainForm上的控件上的TextBoxes,MainForm上UserControl上的TextBoxes,以及第二个Form上的TextBox“独立”打开(即form2.Parent == null)所有更新都正确(即两个) -way binding实际上来自“DataSource等效”公共类。 改变一:改变一切。 代码:此类的实例将提供数据绑定的目标属性(theText): public class TextDataBinder { public event PropertyChangedEventHandler PropertyChanged; private string _theText; public string theText { get { return _theText; } // note : if ‘setter is declared ‘internal : blocks // auto-updating […]

如何在C#中从子窗口访问和更改父窗口控件的值

您好如何从子窗口更改父窗口中文本框的文本值.. 即我有父窗口有textbox1和按钮,子窗口有textbox2和按钮。 当我在子窗口的textbox2中输入一些文本时,我需要更新textbox1的值。 我做了一些简单的function,逻辑上这是正确的,但它不工作我不知道为什么.. parent.cs namespace digdog { public partial class parent : Form { public parent() { InitializeComponent(); } public void changeText(string text) { textbox1.Text = text; } private void button1_Click(object sender, EventArgs e) { //Display modal dialog child myform = new child(); myform.ShowDialog(); } } } child.cs namespace digdog { public partial class […]

如何在没有Control问题的情况下停用ViewState

我编写了一个ASP.NET应用程序,它在服务器的IIS7中运行。 如果我在浏览器中打开此webform并向我显示Sitecode,我会看到… 我有很多控件按钮,标签,文本框和ListView。 我尝试在web.config中停用ViewState但如果我停用此应用程序,则无法正常运行。 我能做什么?

在Windows窗体上查找组件c#(不是控件)

我知道如何查找和收集Windows窗体中使用的所有控件的列表。 像这样的东西: static public void FillControls(Control control, List AllControls) { String controlName = “”; controlName = control.Name; foreach (Control c in control.Controls) { controlName = c.Name; if ((control.Controls.Count > 0)) { AllControls.Add(c); FillControls(c, AllControls); } } } 但是,此函数不会检索表单底部的非可视组件,如HelpProvider,ImageList,TableAdapters,DataSet等。 有没有办法获得这些组件的列表? 编辑: 感谢@HighCore指示我在类似的函数中使用System.ComponentModel.Component确实为我提供了一个包含ImageList,Help Provider和BindingSource等组件的列表。 但是,我仍然从这个列表中错过了TableAdapters和DataSet。 我想因为那些直接从Objectinheritance。 拜托 不要将我的旧post推荐给我,这些post显示了与我类似的function,并且只获取控件列表。 编辑:为什么负面投票? 这个问题以前从未得到过回答!

如何从字符串动态呈现asp.net控件?

假设我有一个字符串,我从DB中检索到: “Lorem ipsum dolor sit amet,consetetur sadipscing elitr,sed diam nonumy eirmod tempor invidunt ut labore et {{Hyperlink | navigateurl =’/ foo.aspx’}} dolore magna aliquyam。” 现在可以将此字符串分配给标签的Text-property。 我想要的是解析{{Hyperlink | navigateurl =’/ foo.aspx’}}并将其替换为 并将包括HyperLink-Control在内的整个文本分配给Label。 这有可能吗? 我想我可以使用reflection来创建控件并设置属性。 (HyperLink-Control只是一个例子)但是我可以设法将asp.net控件插回到字符串中以确保将超链接呈现为服务器控制吗? 我希望你明白我的意思。 如果没有,请随时发表评论。 EDIT1: 你是什​​么意思“将整个文本包括HyperLink-Control分配给标签。”? 你可以解释一下,这样做的原因是什么? 我认为将控件分配给字符串是行不通的,因为asp.net控件不能适应字符串。 经过一番思考后,我找到了实现目标的方法。 那就是创建一个占位符(我将其命名为A)。 其中将添加一些Literal控件。 另外我会创建一个占位符(我将其命名为B),将我的超链接添加到B中,并将A添加到B中。但我认为这是过度杀伤的方法。 我开始考虑这个问题的原因是为了获得对Server.MapPath的访问而不替换字符串中的出现。 我希望能够在我的CMS中使用相对路径,它从超链接呈现为NavigateUrl属性。 尽管如此,我认为我对动态创建的问题值得考虑