绑定的组合框中的NULL空项
我如何在bount ComboBox中使用一个空的项目,该项目使用NULL作为插入或更新的值? 使用以下代码,我可以手动添加附加行.列inspector_id是FK关系的主要键.我必须设置inspector_id = -1,因为C#不允许int为null.但是,插入(或更新)失败,因为数据库中没有inspector_id: -1. private void ItemInfo_Load(object sender, EventArgs e) { // TODO: This line of code loads data into the 'someDBDataSet.inspector' table. You can move, or remove it, as needed. this.inspectorTableAdapter.ClearBeforeFill = false; someDBDataSet.inspectorRow newRow = t
162 2024-04-26
编程技术问答社区
Solidworks API和Winforms C# swApp(独立)。
这是solidworks告诉您要做的参考swApp,但是我一直在引用它的行上. 有人知道为什么吗?还是我如何维修? 我稍后可以在swApp = ???? 上引用它 private void button5_Click(object sender, EventArgs e) { //Save Drawing ModelDoc2 swDoc = null; int longstatus = 0; swDoc = ((ModelDoc2)(swApp.ActiveDoc)); longstatus = swDoc.SaveAs3( @"C:\Engineering\Engineering\SW Automation\Linear Actuator Technology\MLD Series\Prints\Configured Prints\" + textBox1.Text + ".SLD
8 2024-04-26
编程技术问答社区
在visual studio express中的堆栈跟踪
我正在使用Visual Studio 2010 Express进行WPF应用程序.我有一个在WindowsFormsHost内部运行的winform组件,显然包含一个错误.控制台中打印出的唯一错误消息是 eine ausnahme(eSte Chance)des des des" system.collections.generic.keynotfoundException" iSt in mscorlib.dll aufgetreten. (我正在使用德语版).它不会打印出堆栈跟踪,也不会告诉我发生错误的行.我可以通过调试整个代码来找到错误,无论如何,有时我只想看到堆栈跟踪以更快地解决问题. 我该怎么做? 解决方案 启用例外:debug->异常 编辑 查看此内容,Express相关部分: 038TZXDW.aspx 问候
14 2024-04-26
编程技术问答社区
Sendkeys类有其他可以与Windows 10一起使用的替代方法吗
我在system.windows.forms.sendkeys类以外的任何地方都找不到任何确定的信息. 我编写了一个演示程序,该程序可监视用户击键,如果用户输入已知代码,它将弹出表单,然后转到文档数据库并返回各种字符串(公司名称/地址/联系人列表等)和用检索的字符串替换键入代码. SendWait用于将检索到的字符串发送到键入代码的任何程序. 我在公司Windows 7台式机上构建了该程序,但是当我在个人Windows 10系统上运行它时,它不起作用.稍后阅读很多,我觉得自己像个白痴,但我不能让他们进一步接受这个项目,因为他们知道他们不会永远在Win7上. 因此,我的问题是,在Windows 10中肯定会禁用此类功能,或者是否有其他方法或方法可以用来实现将文本插入运行程序中的这种行为. 任何帮助. 解决方案 我找到了这个论坛线: sendkeys在W10中被阻止.在W8.1中仍然有效. 还有其他令人反感的事物,例如不允许应用程序读取或赖特驱动C.在那里
6 2024-04-26
编程技术问答社区
在各种用户控件上调用方法
我在应用程序中创建了许多自定义用户控件.它们是使用验证()方法来验证其内容的控件.当我单击表单上的按钮时,我想在具有该方法的任何控件上调用此方法.实现这一目标的最佳方法是什么? 我能够识别和控件,并检查它们是否具有该方法,但不确定如何调用它. (所有控件以'cc'开头) foreach (Control c in this.Controls) { if (c.Name.Length > 2 && c.Name.Substring(0, 2).Equals("cc")) { var type = c.GetType(); if (type.GetMethod("Validates") != null) { // Call method here
14 2024-04-26
编程技术问答社区
从多选列表框中获取TextBox中SelectedItems的选择值(用逗号分隔)?
请告诉我如何获得ListBox SelectedItems的ValueMember?我读了很多教程,但仍然无法解决.任何帮助将不胜感激. int c = subjects_Listbox.Items.Count - 1; for (int i = 0; i >= 0; i--) { if (subjects_Listbox.GetSelected(i)) { txt.Text += subjects_Listbox.SelectedIndices[i].ToString(); txt.Text += ", "; } } 解决方案 您的for循环不正确.只需尝试一下(通过您的ListBox的所有SelectedIndices进行迭代,然后将它们添加到您的TextBox中): foreach (var item in subjects_Listbox.SelectedIndices) { txt.Text +
14 2024-04-26
编程技术问答社区
如何创建ColorComboBox并将其ValueMember绑定到我的类对象的Color属性?
我正在创建Windows Form Application,该应用程序应该允许用户通过ComboBox选择对象的颜色属性.类型MyClass的对象存储在单独的列表中,该列表呈现到一个Combobox.此组合显示对象ID. 图片框也通过绑定显示当前选择的对象的颜色.这些绑定效果很好,但是我很难将myClass对象的颜色属性绑定到combobox的估值属性. 此组合具有所有System.Drawing.Color颜色的列表(目前为文本项目).我需要将电流选择绑定到myClass.cr属性.如何做? 我还想绘制填充有通讯颜色的矩形,而不是Combobox中的文本项目.我应该使用所有者Draw combobox,还是有更简单的方法? 这是代码: public partial class Form1 : Form { List MyClassList = new List(); public Form1()
8 2024-04-26
编程技术问答社区
您如何在最大分辨率为1366x768的计算机上设计1920px乘1080px Winform?
我正在笔记本上开发Winforms应用程序(屏幕分辨率:1366x768).应用程序的终端设备是Windows Surface(屏幕分辨率1920x1080).现在,我想使我的表格和用户控制更大,以便它们可以在表面上放置全屏.我在主要形式上使用此代码完成了此操作: Left = Top = 0; Width = Screen.PrimaryScreen.WorkingArea.Width; Height = Screen.PrimaryScreen.WorkingArea.Height; 但是在我的USERCONTOL中,我需要将按钮文本框等放在正确的位置.否则,申请的大面积未使用.因此,我需要使用户控制的大小和更大的形式的大小,但是笔记本的屏幕分辨率太小,因此它不允许以1366x768像素以上的数字.我仍然如何设计表面屏幕分辨率的应用? 解决方案 以下代码是vb.net 我几年前在CodeProject上发布的答案,因此
14 2024-04-26
编程技术问答社区
调用一个扩展方法(TreeNodeCollection Add方法)的正确方法是什么?
我代码的相关部分如下.在MyTreeView类(下面的代码的最后一个块)中,代码TncExtensions.TncNodeAdd(this, myTreeViewNode);生成错误CS7036 There is no argument given that corresponds to the required formal parameter 'myTreeViewNode' of 'TncExtensions.TncNodeAdd(TreeNodeCollection, MyTreeView_Abstract, MyTreeViewNode_Abstract)' 为什么编译器无法弄清楚第二个正式参数是我的treenodecollection扩展方法? public static class TncExtensions { public static int TncNodeAdd(this TreeNodeCollection nodes, MyTreeView_
12 2024-04-26
编程技术问答社区
DataGridView C# 使用MVP模式在组合框中为每一行添加不同的值
我当前正在尝试将图层(我的类)对象列表的值添加到datagridView.第一列只是带有文本的常规单元格,但是我希望第二列包含具有每行值的ComboBoxes.我的主持人中有一个foreach循环,该循环循环循环通过对象列表,并调用方法addrow,将其传递给名称值和样式列表.这就是我到目前为止得到的.标题列表被很好地放入,但是套头可以使用的样式.我如何填充一个与创建的每一行列表中的值的组合群?由于公司政策,我无法发布屏幕截图,所以我会尽力回答任何歧义,谢谢. using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Service { public class Layer { public string Name { get; set; } public string Title { get; se
14 2024-04-26
编程技术问答社区
DataGridView中的文本框控件
我正在Windows应用程序中的C#中的DataGridView工作.我想在datagridview中添加文本框控件.因此,当我们运行它时,应该在GridView中显示文本框,我们可以在其中放入值,并且我的网格有3列,我想在GridView的第3列上按Tab时在网格中添加新行. . 我该怎么做? 解决方案 很难提供一个精确的答案,因为您的问题缺乏详细且相当一般,但是要在您的DataGridView中获取文本框,您将要添加一些要检测用户何时在第三列上按下选项卡,您可以使用OnCellEnter event添加1-2像素宽的第四列,并检测其已收到焦点(几乎是从选项卡击键中). 祝你好运! 其他解决方案 so,对于"默认情况下显示文本框",这是瘦的: 在GridView->编辑列上,添加要明确使用的列.然后单击链接"将此字段转换为模板字段".这将使您为这些单元格调整生成的HTML.说OK.然后转到GridView->编辑模板.对于您喜欢的列,请将intecteT
12 2024-04-26
编程技术问答社区
C#: 将DataGridView绑定到应用程序目录中的数据库文件上
i当前在" C:\ temp"中的dataGridView绑定到SQLITE数据库.我使用VS2008 GUI绑定它.我希望它可以在运行的任何目录中绑定到数据库.我可以看到该路径已被硬编码到" C:\ temp \ myApp.db",但是如果我在生成的代码中更改它,当我重新编译时,我认为它会被覆盖吗? 如何设置它,以便DataGridView连接到应用程序中的任何目录中的SQLite DB文件? 我是Winforms编程的新手,因此将不胜感激. 更新 我想我知道如何获得CWD(见下文);问题是在DB访问代码vs. string cwd = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location); 也许无法完成? 也许我需要写一个我打算做的dal-如果有一个,现在只想一个快速解决方案. 解决方案 将应用程序的启动路径与预期的文
6 2024-04-26
编程技术问答社区
在Winforms中用C#语言使一个方法在间隔时间内执行
我正在制作RSS阅读器,我希望它能够以给定的时间间隔进行更新. 我对使用Winforms计时器组件不感兴趣. 我更加考虑使用 System.Threading.Timer System.Threading.Timer . 我想在间隔上执行的方法看起来像: public void getNews() { for (int i2 = 0; i2
16 2024-04-26
编程技术问答社区
清除两个文本框文本要么选择
我有一个窗口表单中的文本框,我有清晰的按钮,它基本上可以清除char的文本char(这是一个不是全部),我的问题是我想在此表单中添加另一个文本框并将想控制两个文本框都有清晰的按钮,这意味着清除只能清除我选择或单击的文本框,我尝试执行此操作,但是我能够同时清除两个文本框,或者仅清除单个文本框的代码我的代码是 private void clearBtn_Click(object sender, EventArgs e) { string s = txtID.Text; if (s.Length > 0) txtID.Text = s.Substring(0, s.Length - 1); } 解决方案 您可以设置哪个控件专注于焦点,然后使用它来查看需要删除哪个. private Textbox SelectedTextBox; protected void Form_Load(object sender, EventArgs e) { TextBox1.G
8 2024-04-26
编程技术问答社区
如何保存已加载的图像而不重新下载?
如何在 awesomium 内部复制或保存加载的图像浏览器浏览器而不将其重新载荷的情况下? 有一种下载图像的方法: M 但有两个问题: 它重新下载图像. 它显示了一个弹出窗口以保存图像,我不想要它. 在JavaScript重新载荷中也有各种方式! 什么是解决方案? 我们如何从Cache文件夹中获取下载的图像? 解决方案 您可以尝试这样的尝试: /// /// Returns Base64 string of image content. Without redownloading image. If it is not on the same domain, WebSecurity must be set to false. /// /// /// Any Javascript query
6 2024-04-26
编程技术问答社区
如何使用定时器监测文件大小的变化?
private void MonitorFileForChanges() { Timer timerFileMonitor = new Timer(); timerFileMonitor.Interval = 10000; timerFileMonitor.Tick += timerFileMonitor_Tick; timerFileMonitor.Start(); } void timerFileMonitor_Tick(object sender, EventArgs e) { var directory = new DirectoryInfo(userVideosDirectory); var myFile = directory.GetFiles() .OrderByDescending(f => f.LastWriteTime) .First(); long oldFileSize = 0; }
8 2024-04-26
编程技术问答社区
DataGridView_CellClick事件args使用了奇怪的列索引
我在Winforms应用程序中有一个DataGridView,我使用数据绑定来填充: myGridView.DataSource = myDataList; 列表被绑定后,我在DataGridView的末端(右侧)添加了DataGridViewButtonColumn.我在databindingComplete事件中处理此操作: private void myGridView_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e) { if (!myGridView.Columns.Contains("Remove")) { DataGridViewButtonColumn removeColumn = new DataGridViewButtonColumn(); removeColumn.Name = "Remove";
6 2024-04-26
编程技术问答社区
如何处理多个客户端winforms的数据库更新的提要
我们正在使用单个后端系统或数据库作为PostgreSQL开发C#中的Winforms的桌面应用程序.桌面应用程序将由本地LAN上的多个用户或在WAN上使用我的数据库服务器上的WAN上使用. 用户将在数据库表上执行更新,插入,删除.我需要的是,当任何用户执行上述三个操作中的任何一个(自动登录或将在一段时间后登录)时,就会在Winforms中看到有关其他用户执行的活动. 请帮助我如何进行相同的操作. 问候 葡萄et更多 解决方案 您要寻找的是消息队列服务. 工作流将像这样: 自定义服务将使用postgresql 在PostgreSQL内部,您可以使用pgsql通知来从触发器内通知自定义服务. 应用程序将是从MQS读取消息,并向UI上的用户读取消息. 问候 h
30 2024-04-26
编程技术问答社区
如何在C#表格外点击后删除按钮边框?
我制作了一个简单的按钮,但是当我单击"胜出"时,我的按钮会得到一个黑色边框.顺便说一句,我将BorderSize设置为" 0",并且在我单击表单内部时效果很好. this.button.FlatAppearance.BorderSize = 0; 就是这样. 解决方案 一个简单的解决方法是设置this.button1.FlatAppearance.BorderColor = this.button1.Parent.BackColor; 您可以将此属性设置为订阅 parentChanged event event(或覆盖您也可以在批处理中执行相同的操作,使用处理事件,并在表单的构造函数中订阅了所有按钮(带有 FlatStyle = FlatStyle.Flat )订阅该事件: public Form1() { InitializeComponent(); foreach (Button button in this.Controls.OfTyp
10 2024-04-26
编程技术问答社区
无法在WebBrowser中以编程方式设置textBox控件的值
我试图以编程为编程的值将值设置为Web浏览器中的文本框,但它引发了Null例外. 这是代码,我尝试了: - webbrowser1.document.getElementbyId(" field-summary").innertext =" something"; webbrowser1.document.getElementById(" field-summary").setAttribute(" value"," sometsing"); 我试图通过使用快速手表来找到该元素,并且在那里,但是我无法设置一个值. 特此,我也附上了手表的快照. 这是错误,我遇到了. type" system.nullReferenceException"类型的第一个机会例外发生在timesheet.exe中 MSCORLIB.dll 中出现了第一个机会. 我的问题是,我试图为Innertext设定价值,而我没有对Innertext进行任何操纵.但仍然在投掷错误
18 2024-04-26
编程技术问答社区