Tag: winforms

为什么要从设计器中插入非UI的Windows.Forms组件?

在C#(和Visual Basic)中,您可以直接从表单设计器添加几个非UI组件(那些不从System.Windows.Forms.Controlinheritance的组件)。 这些组件的示例是System.Windows.Forms.FolderBrowserDialog和System.Windows.Forms.Timer 。 但是,使用UI设计器添加非UI控件而不是直接从代码实例化它们会带来什么好处? 这背后有一个理由吗?

在C#中获取已安装程序的exe名称?

我用它来获取程序名称,但我需要exe名称。 我怎么找到它们? string SoftwareKey = “SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\S-1-5-18\\Products”; RegistryKey rk = default(RegistryKey); rk = Registry.LocalMachine.OpenSubKey(SoftwareKey); //string skname = null; string sname = string.Empty; foreach (string skname in rk.GetSubKeyNames()) { try { sname = Registry.LocalMachine.OpenSubKey(SoftwareKey).OpenSubKey(skname).OpenSubKey(“InstallProperties”).GetValue(“DisplayName”).ToString(); listBox1.Items.Add(sname); } catch (Exception ex) { MessageBox.Show(ex.Message); } } 我想这样做: System.Diagnostics.Process.Start(“Name.exe”); 运行程序。

是否有任何方法可以在C#ctrl + alt + del中禁用注销,锁定和任务管理器

在运行我的窗口应用程序。 如果用户按ctrl + alt + del我需要禁用这些按钮..有任何方法

validation – 文本框仅允许小数

我使用以下代码validation文本框。 private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { e.Handled = SingleDecimal(sender, e.KeyChar); } public bool SingleDecimal(System.Object sender, char eChar) { string chkstr = “0123456789.”; if (chkstr.IndexOf(eChar) > -1 || eChar == Constants.vbBack) { if (eChar == “.”) { if (((TextBox)sender).Text.IndexOf(eChar) > -1) { return true; } else { return false; } } return false; } […]

哪个控件用于快速文本输入(输入框)?

我需要一个快速文本输入对话框(MessageBox中有一个文本框)。 有没有可用的控件或我应该使用表格? 我只想让用户输入一些ID。 在其他场合我想要2个texbox用于用户名和密码。

如何在maskedtextbox中仅允许强制数值?

我对Winforms很新,我想知道如何使用MaskedTextBox来确保用户只输入数值(包括小数)。 我使用“/ ^ [ – +]?[0-9] +(。[0-9] +)?$ /”尝试了屏蔽function,并且没有成功。 即使使用普通的文本框,我想要的只是允许数字/小数值

想要使用任务并行库和进度报告来更新数据库

我开发了一个存储多个连接字符串的应用程序。 我只是迭代for循环并连接每个数据库并对每个数据库执行sql。 这样我用bulk sql语句更新多个数据库。 现在我需要使用现在的任务并行库来同时更新多个数据库,而不是一个接一个地循环更新。 我还想处理exception,并且还希望为多个数据库操作显示多个进度条。 应该有暂停和恢复function。 当我点击按钮时,将打开多个数据库连接,对于每个任务,我的表单中将添加一个新的进度条。 每个进度条将显示每个数据库操作进度。 当任何任务完成后,相应的进度条将从表单中删除。 任何人都可以使用TPL指导我如何使用示例代码。 这里我有一个代码更新一个进度条但我需要更新多个进度条。 int iterations = 100; ProgressBar pb = new ProgressBar(); pb.Maximum = iterations; pb.Dock = DockStyle.Fill; Controls.Add(pb); Task.Create(delegate { Parallel.For(0, iterations, i => { Thread.SpinWait(50000000); // do work here BeginInvoke((Action)delegate { pb.Value++; }); }); }); 更新问题 我是这样做的。 代码有效但所有进度条值依次增加。 我在winform应用程序中有一个表单和一个用户控件。 请看看我的代码并告诉我那里有什么问题。 主要代码 public partial class […]

无法使用OleDb将DateTime插入Access

尝试在Access中插入一行数据时,出现“条件表达式中的数据类型不匹配”错误。 在搞砸了一下之后,我把它缩小到DateTime是个问题。 这是我的代码: class ABGDA { private OleDbConnection dbConn; private OleDbCommand dbCmd; private OleDbDataReader dbReader; private string sConnection; private string sql; private ABG abg; public void insertProgressNotes(ABG ABG) { abg = ABG; sConnection = “Provider=Microsoft.ACE.OLEDB.12.0;” + “Data Source=SimEMR.accdb”; dbConn = new OleDbConnection(sConnection); dbConn.Open(); sql = “INSERT INTO ABG (AccountNo, LabDate, PAO2, PACO2, SAO2, Bicarbonate, BaseExcess, […]

BindingSource与DataGridViewcombobox

我知道你可以将BindingSource对象与DataGridView一起使用。 是否可以在其中一列中使用combobox并仍然可以利用BindingSource ?

在C#中模拟雷达的最佳方法是什么?

我的表格中有一个combobox内的图片框,其中雷达图片设置为背景图片。 我的目的是在运行时动态加载雷达区域内的微小Jpeg图像(重叠),但我不确定实现这一目标的最佳方法。 欢迎所有疯狂的想法(但我更喜欢理智的做法)。 谢谢你们。