Tag: winforms

显示每个usercontrol文本框中的每条记录

我创建一个usercontrol(usercontrol2)并在usercontrol(usercontrol2)上添加textBox。 表格代码: using (SqlConnection myDatabaseConnection = new SqlConnection(myConnectionString.ConnectionString)) { myDatabaseConnection.Open(); using (SqlCommand SqlCommand = new SqlCommand(“Select LastName from Employee”, myDatabaseConnection)) using (SqlDataAdapter da = new SqlDataAdapter(SqlCommand)) { SqlDataReader DR1 = SqlCommand.ExecuteReader(); int y = 0; while (DR1.Read()) { y++; for (int i = 0; i < y; i++) { UserControl2 userconrol = new UserControl2(); userconrol.Location […]

C#拖放 – 使用基类的e.Data.GetData

我正在使用C#和Winforms 3.5 我有一个用户控件列表,所有用户控件都派生自一个基类。 这些控件可以添加到各种面板中,我正在尝试实现拖放function,我正在运行的问题是在DragDrop事件上。 对于DragEventArgs, e.Data.GetData(typeof(baseClass))不起作用。 它想要: e.Data.GetData(typeof(derivedClass1)) e.Data.GetData(typeof(derivedClass2)) etc… 有没有办法解决这个问题,或者更好的方法来构建它?

如果用户点击表单上的其他位置,如何取消选择文本框?

目前在我的应用程序中,无法取消选择文本框。 唯一的方法是选择另一个文本框。 我的用户和我同意单击表单上的任何其他位置应取消选择当前文本框。 我尝试在许多控件上覆盖MouseDown并将焦点设置为随机标签,但它不适用于某些控件,如MenuStrip或滚动条。 有任何想法吗?

在其他所有内容后面显示一个表格,而不会窃取焦点?

StackOverflow上存在一个关于如何在不窃取焦点的情况下显示表单的问题。 答案是覆盖ShowWithoutActivation并返回true: protected override bool ShowWithoutActivation { get { return true; } } 这很好用。 现在我想更进一步。 我希望展示一个表格(即使其可见),但让它落后于z顺序中的其他表格。 可能在.net? 如果没有,可以使用P / Invoke吗? 奖金Chatter 调用SendToBack()不起作用: RunnerForm frm = new RunnerForm(); // frm.Show(); frm.Visible = true; frm.SendToBack();

C#在application.run()之后执行代码

我有一个与此类似的问题: 如何在表单启动后执行代码? 但是那里的解决方案对我来说不起作用,因为我没有运行表单,我正在运行一个自定义控件,这是一个监视事物的托盘图标。 (类似于Icon Dropbox,这是用户与程序唯一的接口) 创建控件时,如何运行代码? (必须在消息泵启动后)

如何从nuget包中自动添加组件?

我已将自定义控件打包到nuget包中并发布。 当我将包添加到项目时,控件不会添加到工具箱中。 Automatically Populate Toolbox设置设置为true (工具 – >选项 – > Windows窗体设计器) 自定义控件具有类属性,例如: [ToolboxItem(true)] [ToolboxBitmap(typeof(TextBox))] [DefaultBindingProperty(“Text”)] 获取工具箱中控件的唯一方法是浏览packages文件夹中的dll并将其添加到工具箱中。 但有没有更简洁的方法,在安装(或更新)软件包后,控件会自动添加到工具箱中?

为什么我需要在SaveChanges之前更改绑定源位置

我有一个小型的WinForms演示应用程序。 其中一个表格是我的添加新人表格。 我使用了Details View而不是Data Sources中的DataGridView 。 当我输入数据并单击导航器上的保存按钮时,没有任何更改,但是我在表单Load AddNew之后放置了MovePrevious和MoveNext ,一切都按预期工作。 public partial class AddPersonForm : Form { private readonly DemoContext _context; public AddPersonForm() { _context = new DemoContext(); InitializeComponent(); } protected override void OnLoad(EventArgs e) { _context.People.Load(); personBindingSource.DataSource = _context.People.Local.ToBindingList(); personBindingSource.AddNew(); personBindingSource.MovePrevious(); personBindingSource.MoveNext(); base.OnLoad(e); } private void personBindingNavigatorSaveItem_Click(object sender, EventArgs e) { int changes = _context.SaveChanges(); […]

如何仅在用户停止键入时处理TextChanged事件?

我有一个带有TextChanged事件的TextBox 。 最后它正在查询SQL数据库,所以我想限制查询的数量。 如果用户没有在300毫秒左右按下一个键 ,我只想进行查询。 如果由于某种原因上一个查询仍在执行,我需要取消它,然后发出一个新查询。

如何以编程方式滚动TreeView?

我需要将TreeView ( Windows窗体 )从TOP滚动到BOTTOM … 我应该澄清一下,我有两个TreeViews ……如果第一个是由用户滚动的,那么第二个treeView必须自动滚动。 我不知道选择了什么节点… 我怎样才能做到这一点?

正在创建log4net日志但仍为空

我正在尝试使用log4net 。 当我启动应用程序时,它会创建日志文件,但无论我调用多少次Log.Info(“Application Started”); 它仍然是空的。 我研究了google返回的前两页,我的代码似乎与所有示例相匹配。 码: [assembly: XmlConfigurator(Watch = true)] namespace Generator { public class Run { private static readonly log4net.ILog Log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); public List PerformBillRun() { XmlConfigurator.Configure(); Log.Info(“Application Started”); var enabled = Log.IsInfoEnabled; //This is true } } } 的app.config 什么可能是错的任何指针?