该方法连续执行两次,没有明显的理由这样做.它发生在VS2010 Express(4.0)和VS2008(3.5)中.
public GUI()
{
InitializeComponent();
this.lvwFiles.DragDrop += new System.Windows.Forms.DragEventHandler(this.lvwFiles_DragDrop);
this.lvwFiles.DragEnter += new System.Windows.Forms.DragEventHandler(this.lvwFiles_DragEnter);
}
private void lvwFilesAdd(string path, string[] paths)
{ ... }
private void lvwFilesWrite()
{ ... }
private void lvwFiles_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
e.Effect = DragDropEffects.Copy;
else
e.Effect = DragDropEffects.None;
}
private void lvwFiles_DragDrop(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
var paths = (string[])e.Data.GetData(DataFormats.FileDrop);
var path = Path.GetDirectoryName(paths[0]);
lvwFilesAdd(path, paths);
lvwFilesWrite();
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个带有3个组合框的WinForm,一个带有组合框,另外两个带有单选按钮.我将所有这些和他们的子控件设置为"TabStop = false",但是当我使用TAB循环时,最后两个组框中每个组中当前选择的单选按钮会被聚焦.
如果没有办法改变这种行为,那么抓住并将焦点移开会有什么好事?我找不到"OnFocus"活动.
解决方案是设置一个方法(下面的代码)来处理表单中每个单选按钮的"Enter"事件(如果这是你想要的).
实际上,我只是为第一组组的单选按钮做了它并且它工作,第二组框的单选按钮没有得到焦点,即使他们的"Enter"事件没有被处理.这不是您期望的行为.
private void radiobuttonXGroup1_Enter(object sender, EventArgs e)
{
SomeOtherControl.Focus();
}
Run Code Online (Sandbox Code Playgroud)
在*.Designer.cs文件中,您可以编辑每个Enter事件(对于每个单选按钮)以指向一个事件处理程序(上述方法).
this.radiobutton1Group1.Enter += new System.EventHandler(this.radiobuttonXGroup1_Enter);
this.radiobutton2Group1.Enter += new System.EventHandler(this.radiobuttonXGroup1_Enter);
this.radiobutton3Group1.Enter += new System.EventHandler(this.radiobuttonXGroup1_Enter);
Run Code Online (Sandbox Code Playgroud) 我有一个由十六进制值表示的字节数组,这些是持续时间.数据可以转换为整数值并乘以常数以获得时序.数据解码将作为一系列十六进制字符串保存到文件中.什么是操纵十六进制值的有效方法?
我在处理数据格式时正在考虑性能问题,因为我必须在不同阶段使用多种格式(计算,数据显示等).大多数示例显示从byte []到十六进制字符串("1A 3C D4")的转换,反之亦然,但我正在寻找替代方案,即转换为Int16并使用char []数组.