Tag: 控件

在WinForm C#上捕获KeyUp事件

我尝试在System.Windows.Forms上捕获F5,因为我写道: partial class MainForm { (…) this.KeyUp += new System.Windows.Forms.KeyEventHandler(this.MainForm_KeyUp); (…) } public partial class MainForm : Form { (…) private void MainForm_KeyUp(object sender, KeyEventArgs e) { Log(“MainForm_KeyUp”); if (e.KeyCode == Keys.F5) { RefreshStuff(); } } } 但我的事件捕捉看起来不起作用。 你知道如何在System.Windows.Forms上cactch EventKey吗?

ReadOnly和Enabled之间的主要区别是什么?

在Windows窗体控件中,有两个属性: ReadOnly和Enabled 。 这两个属性有什么区别? 我觉得他们的行为方式相同。

使用Tab键时阻止控件获得焦点

如何设置TextBox控件以使其根本没有TabIndex 。 我想这样做,以便用户无法进入标签。 [说明] 我问这个问题的原因是因为我最近从vb切换到了c#,并且正在尝试使用QuickSharp SDK。 如果您使用该系统,那么您必须在没有Visual Studio的可视化设计器的情况下构建表单 – 因此,没有GUI可以帮助您设置表单的所有属性。 然而,这是一个很好的学习经历。 所以,这似乎是一个微不足道的问题,但在这种情况下,我认为这是一个合理的问题。

有一种简单的方法可以在弹出文本窗口中创建两列吗?

这似乎很容易做到。 我只是想弹出一个文本窗口并显示两列数据 – 左侧的描述和右侧显示的相应值。 我没有使用Forms很多,所以我只是抓住了第一个看起来合适的控件,一个TextBox。 我认为使用制表符将是创建第二列的简单方法,但我发现事情并没有那么好用。 我尝试这样做的方式似乎有两个问题(见下文)。 首先,我在很多网站上看到,由于字体的复杂程度,以及字符串问题等等,MeasureString函数不是很精确。 第二个是我不知道TextBox控件正在使用什么作为其下面的StringFormat。 无论如何,结果是我总是以一个选项卡关闭右栏中的项目。 我想我可以滚动自己的文本窗口并自己做所有事情,但是,哎呀,这不是一个简单的方法吗? 谢谢你的帮助! TextBox textBox = new TextBox(); textBox.Font = new Font(“Calibri”, 11); textBox.Dock = DockStyle.Fill; textBox.Multiline = true; textBox.WordWrap = false; textBox.ScrollBars = ScrollBars.Vertical; Form form = new Form(); form.Text = “Recipe”; form.Size = new Size(400, 600); form.FormBorderStyle = FormBorderStyle.Sizable; form.StartPosition = FormStartPosition.CenterScreen; form.Controls.Add(textBox); Graphics […]

WPF中类似访问的数据导航?

在XAML / C#中以访问forms构建数据导航的最佳方法是什么? 我应该构建一个用户控件(甚至自定义控件),我只是绑定到我可以放置其他控件的集合中吗? (因此这个问题: 可以包含其他控件的C#用户控件(使用时) ) 或者我可以通过以某种方式从ItemsControl派生来构建一些东西? 怎么样? 或者今天这样做会完全不同(比如“这种导航风格去年就是这样!”)? 我对C#和所有人都比较陌生(不是这样编程,但更像是“家庭主妇语言”Access-VBA)我也不是英语母语人士。 所以请温柔=)

ListView控件和详细信息

我读到有关ListView的一些教程让我感到有点困惑。 我有一个ListView控件,左侧应该是一个名称,该名称的右侧应该像另一个列,其中包含更多文本。 例如: 列表显示: jason blah blah blah item2 more blahs item3 jupiter item4 uranus 如何才能做到这一点? 有一个简单的方法吗? 谢谢

页面生命周期 – 使用FindControl引用在页面加载期间以编程方式创建的控件

我正在以编程方式在我的表单上创建一些文本框,稍后我需要使用FindControl来引用它。 我在创建它们的代码之后将FindControl指令放在页面加载方法中,但是得到了一个错误: 你调用的对象是空的。 我假设这是因为文本框控件直到生命周期的后期才创建,因此无法从Page_Load中引用。 有人可以建议我的代码隐藏在哪里,我需要放置FindControl指令,以便它可以找到这些以编程方式创建的文本框?

创建自定义RichTextBox控件

我相信我需要在C#中创建自定义RichTextBox 。 一种这样的: 我承认它甚至可能不必是RichTextBox ,但经过一些研究我认为这将是最简单的方法。 我需要的function是每行的图标,复选框和文本格式。 我的程序将处理文本的每一行,并标记正确,不正确的行,并删除在进一步工作中不需要的行,同时显示当前处理的行并允许用户自由编辑某些行(此处: 大约3 000之前的行)将不会被编辑,但那些在线下将是)。 那有什么问题呢? 我不知道如何完成它。 我已经看过如何在附近制作带有图标或复选框的单行textBox教程,但我不知道如何制作两者,并且对于多行textBox(所以我可以自由滚动,一切都会流畅地工作)。 我也读过关于SO的一些问题,但都没有帮助我。 我只是不知道如何开始,我意识到它不会是5分钟的工作,但我愿意这样做。 到目前为止,我只能创建源自RichTextBox自定义控件,但我不知道哪些方法以及如何覆盖。 任何帮助赞赏。

删除控件中的所有项目

我目前有一个Sharepoint 2010 Web部件,其中包含多个标签。 我想以编程方式删除除这些标签之外的所有标签。 我尝试了下面的代码,但得到了一个System.InvalidOperationException因为显然在迭代它时不能修改集合。 但是,我不知道怎么试试这个。 private void clearLabels() { foreach (Control cont in this.Controls) if (cont is Label && cont.ID != “error”) this.Controls.Remove(cont); }

如何绘制三点角度的弧线?

我正在创建一个可以绘制角度的控件。 我有三个依赖对象。 半径:线的长度 StartAngle:我应该从什么程度开始 角度 这是关于当前绘制的程序的截图(红线是我想要绘制的)。 所以我还没有完成的是电弧。 我需要一些帮助来绘制它。 这就是我所拥有的。 public class AngleControl2 : Control { static AngleControl2() { DefaultStyleKeyProperty.OverrideMetadata(typeof(AngleControl2), new FrameworkPropertyMetadata(typeof(AngleControl2))); } public double Angle { get { return (double)base.GetValue(AngleProperty); } set { base.SetValue(AngleProperty, value); } } public static readonly DependencyProperty AngleProperty = DependencyProperty.Register(“Angle”, typeof(double), typeof(AngleControl2), new PropertyMetadata(90.0, new PropertyChangedCallback(AngleChanged))); public double StartAngle { get […]