Tag: 控制

如何确定控件的可见性?

我有一个包含几个选项卡的TabControl 。 每个选项卡上都有一个UserControl 。 我想检查来自UserControl B UserControl A上的UserControl x的可见性。 我认为从UserControl B做x.Visible就足够了。 事实certificate,它在调试器中显示为false ,即使我将其明确设置为true并且从未更改过。 然后我在MSDN上阅读Control.Visible : 即使Visible设置为true,如果用户在其他控件后面隐藏,控件也可能无法显示。 令我惊讶的是,这无济于事。 现在我想知道如何判断控件x是否可以从不同的UserControl看到。 如果可能的话,我想避免使用布尔值。 有没有人碰到这个并找到了解决方案? 注意:在这种情况下, Control.IsAccessible似乎也是假的。

WPF ComboBox自动选择如果只有1项

我有一个combobox,我绑定到一个可观察的集合,它被更改(根据公司选择)和大量的公司将有一个帐户(项目)因此我想知道什么是最好的方式来制作ComboBox如果ItemsSource中只有1个项目,则设置SelectedItem,否则将其保留为null以确保用户选择一个帐户。 我现在这样做的方法是每次更改帐户集时检查帐户集合,如果它只包含一个帐户集合,则将绑定的选定项目属性设置为集合中的第一个项目。 这似乎很长,我需要分别在每个视图模型中实现它,并为每个combobox写入最多5行代码。 以下是我目前的代码,但我想知道是否可以通过扩展ComboBox控件来实现这一目的? 如果有人对如何/从哪里开始有任何想法。 public CompanyGermanPower FromCompany { get { return _fromCompany; } set { SetField(ref _fromCompany, value, () => FromCompany); if(value!= null) { FromTradeAccountList = new ObservableCollection(TradeAccountAdapter.GetTradeAccounts(_session, value.ID)); if (Trade != null && FromTradeAccountList.Count == 1) Trade.TradeAccountFrom = FromTradeAccountList[0]; } } } private CompanyGermanPower _fromCompany;

编程简单的颜色方案生成器

我们正在用C#开发一个网站cms,并希望集成/开发一个小而简单的颜色方案生成器,就像colorschemedesigner.com (当然简化)一样,自动建议协调模板颜色(用于身体背景,文本,标题等)。 该网站有6种颜色创建方法。 我们想重新编程“重音模拟”算法的逻辑。 有谁知道如何轻松实现这一点,或者我们可以在哪里找到有关此主题的更多信息。 如何以编程方式为给定的基础找到一组协调的颜色? 或者是否已经有一些可以完成这项工作的第三方控制措施? 例如先进的先进高级颜色选择器或某些东西。 丹尼尔

C#对接控制库

我正在寻找一个适用于.NET 2.0的C#WinForms的对接控制库,它是免费软件,不使用任何P / Invokes(因此它与Mono兼容)并且没有错误。 WeifenLuo本来是最好的选择,但因为它使用了大量的P / Invokes,我将无法让我的软件成为跨平台的。 那么有什么好建议吗?

c#WPF对Winform控件的透明度

我有一个WPF控件,我想覆盖到WinForms应用程序。 所以我尽职尽责地创建了一个可以显示以下WPF对象的元素主机: 问题是WinForm表单上的控件不呈现,WPF只是在屏幕上删除它们。 元素主机创建如下: dialogHost = new ElementHost(); dialogHost.Child = dialog; dialogHost.BackColorTransparent = true; dialogHost.BringToFront(); dialogHost.Show(); 有什么我应该做的,我不是吗? 是否存在关于在Winforms上显示透明WPF控件的已知问题? 任何可能有帮助的艺术品? 注意:这个问题与这个问题有关

如何在运行时克隆控件事件处理程序?

我想复制一个像Button,TextBox等控件。但我不知道如何将事件处理程序方法(如Click )复制到新控件。 我现在有以下代码: var btn2 = new Button(); btn2.Text = btn1.Text; btn2.size = btn1.size; // … btn2.Click ??? btn1.Click 有没有其他方法来复制控件?

在Silverlight中检测控件的焦点

有没有办法判断控件(特别是System.Windows.Controls.TextBox)是否集中在Silverlight中? 我正在寻找类似以下内容(您将在常规.Net应用程序中看到的内容): textBox.Focused 从控件中省略这似乎是一件简单而微不足道的事情,但我无法在任何地方找到答案。 更新 结合Rob的答案,稍微优雅的解决方案是创建一个类似的扩展方法: public static bool IsFocused( this Control control ) { return FocusManager.GetFocusedElement() == control; }

访问动态创建的控件c#asp.net的值

我正在尝试访问所选radioButton的值。 我有一个单选按钮的列表由子标题分隔(因此我没有使用radioList) 我不知道如何访问所选的值,因为我不知道它是动态的给出了什么名称。 以下代码位于for循环中并输出无线电选项。 所有选项均适用于一个必需的用户选择。 //add list to radio button list RadioButton button1 = new RadioButton { GroupName = “myGroup”, Text = singleType.appTypeName, ID = singleType.appTypeID.ToString() }; radioArea.Controls.Add(button1); myLabel = new Label(); myLabel.Text = “”; radioArea.Controls.Add(myLabel); 这是我试图访问它的方式: RadioButton myButton = (RadioButton) radioArea.FindControl(“myGroup”); 我意识到这应该是非常简单的,但我仍然处于非常PHP的心态,并感谢任何帮助。 谢谢

覆盖ComboBox的DrawItem

我更改了各种控件的高亮颜色,我打算进行更多更改。 因此,我最好创建自己的控件并重用它们,而不是为每个控件进行更改。 我创建了一个新的用户控件,并inheritance自System.Windows.Forms.ComboBox 。 问题是我无法像onClick那样找到覆盖onDraw的方法。 那我该如何去改写呢? 这是我用于每个控件onDraw事件的代码 public void comboMasterUsers_DrawItem(object sender, DrawItemEventArgs e) { e.DrawBackground(); Graphics g = e.Graphics; Brush brush = ((e.State & DrawItemState.Selected) == DrawItemState.Selected) ? Brushes.LightSeaGreen : new SolidBrush(e.BackColor); g.FillRectangle(brush, e.Bounds); e.Graphics.DrawString(comboMasterUsers.Items[e.Index].ToString(), e.Font, new SolidBrush(e.ForeColor), e.Bounds, StringFormat.GenericDefault); e.DrawFocusRectangle(); } 谢谢!

C#WebBrowser控件全球化

我正在使用WebBrowser控件在C#中创建应用程序。 问题是我不是来自英语国家,而是控制接缝发送英语而不是现代文化。 因此,例如,像谷歌这样的网站将始终以英文而非葡萄牙语显示,因为它出现在IE,FF,Chrome或Opera中。 有没有办法将控件的页面请求文化更改为当前系统的文化,或任何文化的任意文化?