我的系统安装在没有外部网络访问权限的区域,并且无法带入我的计算机。该系统是使用 GIT 存储库中的所有源代码开发的。自安装以来,现场进行了一些修改,这些修改已提交到存储库的系统本地副本。由于隔离,我目前无法像开发期间那样推动这些更改。
我想做的是将已进行的 4-5 次提交导出到“导出文件”,稍后可以在现实世界中使用该文件将更改应用到外部存储库,例如我的笔记本电脑和 Bitbucket。
VS2010 C#.Net 4.1
我正在处理用户必须选择的表单或输入初始数据ComboBox.使用下面的代码(需要花费一些时间来推断),Tab如果数据正确,当用户点击键时启用"编辑"按钮,否则按钮被禁用,它将移动到下一个按钮.
这段代码有效,但副作用是PreviewKeyDown当我设置IsInputKey为true 时事件再次出现.这会调用两次验证.该KeyDown事件仅被调用一次,并且在IsInputKey第二次调用时再次为false,因此我需要再次检查验证.
我想了解为什么并可能避免它.
private void comboBox1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e) {
if (e.KeyData == Keys.Tab) {
if (ValidationRoutine()) {
e.IsInputKey = true; //If Validated, signals KeyDown to examine this key
} //Side effect - This event is called twice when IsInputKey is set to true
}
}
private void comboBox1_KeyDown(object sender, KeyEventArgs e) {
if (e.KeyData == Keys.Tab) {
e.SuppressKeyPress = true; //Stops further processing …Run Code Online (Sandbox Code Playgroud) 我有一个CheckBox设置为CheckState.Indeterminate. 当定时器到期时,它将被设置为CheckState.Unchecked并关闭外部输出信号。到目前为止,一切都很好。
使用当前代码,当用户单击时,Indeterminate CheckBox它将变成Unchecked CheckBox. 我想拦截它并使其成为Checked CheckBox.
对用户的影响是取消计时器并保持输出打开,直到用户取消选中该框或用户启动一个单独的进程来接管并再次设置“不确定复选框”。
事实上,他关闭了输出,并且必须明确地再次打开它。
我尝试了验证事件,但直到我离开盒子才发生这种情况。
更新1:澄清一点用户想要看到的内容。当灯关闭时,该框始终处于未选中状态。
当系统的自动化部分运行时,灯亮。如果用户查看该控件,它处于不确定状态,因为用户没有激活它,但它处于打开状态。
当该过程停止时,计时器启动,让灯亮 2 分钟。在此期间用户仍然看到不确定状态。
如果用户需要灯保持亮起状态,他将选中该框以删除不确定状态。当他完成后,他将手动取消选中关闭灯的框或重新启动自动化过程,这将使其再次不确定。
我不知道AutoCheck属性
我有一个引用 COM 对象的 C# 桌面应用程序Microsoft OLE DB Service Component 1.0 Type Library。这是允许用户构建和测试连接字符串的对话框。该代码多年来一直按预期运行。
我发现执行“重建”时会出现 18 个未列举的警告。我相信这意味着在导入类型库时会创建警告。
它们都是以下形式:
Processing COM reference "MSDASC" from path "C:\Program Files (x86)\Common Files\System\Ole DB\oledb32.dll". The type library importer could not convert the signature for the member 'tagDBPROPIDSET.rgPropertyIDs'.
Processing COM reference "MSDASC" from path "C:\Program Files (x86)\Common Files\System\Ole DB\oledb32.dll". At least one of the arguments for 'DataLinks.RemoteCreateDBInstanceEx' cannot be marshaled by the runtime marshaler. Such arguments will therefore be passed as a pointer and may require …Run Code Online (Sandbox Code Playgroud)