Tag: winforms

以异步方式打开第二个winform,但仍然表现为父表单的子项?

我正在创建一个应用程序,我想实现一个进程窗口,该窗口在进行冗长的过程时出现。 我创建了一个标准的Windows窗体项目,我使用默认窗体创建了我的应用程序。 我还创建了一个新表单作为进度窗口。 使用以下命令打开进度窗口(在函数中)时出现问题: ProgressWindow.ShowDialog(); 遇到这个命令时,焦点在进度窗口上,我假设它现在是正在处理事件的主循环的窗口。 缺点是它阻止了我在主窗体中执行冗长的操作。 如果我使用以下命令打开进度窗口: ProgressWindow.Show(); 然后窗口正确打开,现在不会阻止主窗体的执行,但它不会作为子窗口(模态)窗口,即允许选择主窗体,不以父窗口为中心等。 。 我有什么想法可以打开一个新窗口,但继续在主窗体中处理?

向程序发送击键

在窗口forms,我做了一个按钮,我试图让它发送F1到一个特定的窗口(如FireFox,我的电脑等……) 我的问题是: 我怎么用窗口的名字来做? (例如“Mozilla Firefox”) 我如何通过流程的名称来做到这一点? (例如firefox.exe)

获取Windows窗体中TableLayoutPanel单元格的高度和宽度

在Windows窗体中使用TableLayoutPanel。 我使用RowStyles和ColumnStyles分别使用SizeType作为AutoSize和Percent。 我需要找出放置特定控件的单元格的绝对高度和宽度。 TableLayoutPanelCellPosition pos = tableLayoutPanel1.GetCellPosition(button1); int height = (int)tableLayoutPanel1.RowStyles[pos.Row].Height; int width = (int)tableLayoutPanel1.ColumnStyles[pos.Column].Width; 上面,我的高度为0. RowStyle的SizeType为AutoSize。 同样,我得到了33.33。 ColumnStyle设置为SizeType为Percent,Size = 33.33。 我需要获得单元格的绝对大小(以像素为单位)。

如何在C#中的combobox显示成员中追加两个字段值

在我的表中,我有一个firstname和lastname的字段,现在我想要的是在combobox中将firstname和lastname设置为displaymember ,但我不知道该怎么做。 像这样的东西 cmbEmployees.DataSource = GetEmployees(); //something like below line which doesn’t work cmbEmployees.DisplayMember = “lastname, first_name”; cmbEmployees.ValueMember = “id”; 我怎样才能做到这一点? 这样lastname和firstname都将显示在combobox

从Windows窗体到WPF

我是一位经验丰富的Windows Forms开发人员,但是现在是时候转向WPF了,因为一个新的WPF项目即将推出给我,我只有很短的准备时间来准备自己学习WPF。 对于经验丰富的Winforms devleoper来说,最好的方法是什么? 你能否给我一些提示和建议,以便在很短的时间内学习WPF ! 是否有简单的样本WPF 解决方案和简短(video) 教程 ? 你推荐哪些书? www.windowsclient.net是一个很好的起点吗? 是否有官方微软网站的替代品? 在此先感谢您的帮助!

从另一个C#.NET类中调用Form类中的函数

有人可以通过一些代码告诉我如何从另一个类调用位于Form类中的函数吗? 一些代码将有很大帮助! 谢谢 编辑:这是我目前的代码 public partial class frmMain : Form { //*******Class Instances******* ImageProcessing IP = new ImageProcessing(); //******************** public void StatusUpdate(string text) { tlsStatusLabel.Text = text; }// public frmMain() { InitializeComponent(); }// } class ImageProcessing { private void UpdateStatusLabel(frmMain form, string text) { form.StatusUpdate(text); }// private UpdateLabel() { UpdateStatusLabel(frmMain, “Converting to GreyScale”); } } […]

禁止ListView使所选项目为零

我的项目是.NET / WinForms。 我有一个列表视图,总是填充项目。 我希望它总是有选择。 但是,如果我单击列表视图项下面的空白区域,它将失去选择。 该列表有多个selection = true和hide selection = false。

从Access数据库获取数据的正确方法

我对如何从访问数据库获取数据感到困惑。 在List中首先收集它然后从列表中获取这些数据是否合适?或者可以直接在数据库中获取它? 我的代码工作得很好,但我想知道是否有更好的方法来做到这一点? : private void button3_Click(object sender, EventArgs e) { OleDbConnection connection = new OleDbConnection(@”Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\redgabanan\Desktop\Gabanan_Red_dbaseCon\Red_Database.accdb”); connection.Open(); OleDbDataReader reader = null; OleDbCommand command = new OleDbCommand(“SELECT * from Users WHERE LastName='”+textBox8.Text+”‘”, connection); reader = command.ExecuteReader(); listBox1.Items.Clear(); while (reader.Read()) { listBox1.Items.Add(reader[1].ToString()+”,”+reader[2].ToString()); } connection.Close(); *我直接从数据库中获取记录,然后将其显示在列表框中。

在应用程序执行之间保留数据

我有一些带有一些文本框的应用程序。 我的用户填写文本框并运行一些方法,当他们关闭应用程序数据时(通常)丢失。 我想保留几个文本框和一些局部变量的值。 使用database是不值得的,简单的.txt文件不够干净,是否还有其他简单而简洁的方法可以在应用程序运行之间存储少量数据? 我不确定但是听过一些关于资源文件的瑕疵,它们对这种情况有好处吗?

无法访问已处置的对象?

我有一个倒数计时器表格 – 在第一个表格上,用户将输入倒计时时间 – 警告时间,结束消息等。还有两个单选按钮(最大/最小),根据选择哪个,他们将打开一个新的最大或最小forms,时间将实际开始倒计时。 它工作正常,并按照我的预期倒计时。 但是,如果我退出Max或Minforms并尝试再次运行新的时间,我会收到错误。 代码如下 – 注意注释掉.ShowDialog(this); 是我试过的东西 – 它让我关闭并打开新表格确定但它实际上并没有开始倒计时。 UpdateLabels是更新标签的function。 bool Max = rbMax.Checked; if (Max == true) { //_Max.ShowDialog(this); _Max.Show(); } else //_Min.ShowDialog(this); _Min.Show(); UpdateLabels(); } 我也尝试了以下在线阅读作为可能的解决方案,但它也没有工作…. private void Max_FormClosing(object sender, FormClosingEventArgs e) { this.Hide(); this.Parent = null; } 任何人都可以帮助我 – 如果需要,我可以发布UpdateLabelsfunction。 我是UI C#开发的新手,所以任何帮助都会很棒。 谢谢。