我有一個窗體,代表一個USB設備終端,一直給我一些錯誤。在調試了半天沒有已知源的奇怪錯誤之後,我發現終端在實例化但未顯示時不起作用。當我更改代碼並添加usbTerminal.Show();,然後它正常工作。窗體不起作用,除非.Show()被調用
USBTerminal usbTouchTerminal;
public MainForm()
{
InitializeComponent();
USBSettings usbTouchSettings = new USBSettings();
usbTouchTerminal = new USBTerminal(usbTouchSettings); //Create Terminal with settings
usbTouchTerminal.StartUSB();
usbTouchTerminal.Show(); //works ONLY when show is here
}
這怎麼可能?爲什麼?我做了大量的搜索,我的代碼都不依賴於我的終端或主窗體上的.Visible屬性?
如果沒有顯示某些表單,爲什麼某些表單不起作用,我完全困惑不解。 MSDN或谷歌也不是一個真正的幫助。我確定它會在實例化時正常工作,但沒有顯示。
PS。我加
usbTerminal.Show();
usbTerminal.Hide();
和終端功能正常。
謝謝你的幫助!
編輯:
我也應該注意到,這usbTerminal使用的WndProc覆蓋。我不是這方面的專家,但我覺得這可能與它有關。
我要指出,這是LibUSBdotnet
public class USBSettings
{
/// <summary>
/// This is the Vender ID Number. (0x0B6A)
/// </summary>
public ushort VID { get; set; }
/// <summary>
/// This is the Product ID Number. (0x5346)
/// </summary>
public ushort PID { get; set; }
/// <summary>
/// This is the optional Serial Name. ("")
/// </summary>
public string SerialName { get; set; }
/// <summary>
/// This is the Reader USB Endpoint. (ReadEndpointID.Ep02)
/// </summary>
public ReadEndpointID ReaderEndpoint { get; set; }
/// <summary>
/// This is the Writer USB Endpoint. (WriteEndpointID.Ep01)
/// </summary>
public WriteEndpointID WriterEndpoint { get; set; }
/// <summary>
/// This is the Registry Key for USB settings. ("SOFTWARE\\DEFAULT\\USBPROPERTIES")
/// </summary>
public string SubKey { get; set; }
/// <summary>
/// This is the default read buffer size for the USB Device.
/// </summary>
public int ReadBufferSize { get; set; }
/// <summary>
/// This constructor houses default values for all properties.
/// </summary>
public USBSettings()
{
VID = 0x0B6A;
PID = 0x5346;
SerialName = "";
ReaderEndpoint = ReadEndpointID.Ep02;
WriterEndpoint = WriteEndpointID.Ep01;
SubKey = "SOFTWARE\\DEFAULT\\USBPROPERTIES";
ReadBufferSize = 100;
}
}
這是什麼?它怎麼不起作用? – SLaks
這是一個表單嗎?它應該做什麼? usbTouchSettings的代碼是什麼樣的? – Bit
這是一個連接到嵌入式系統的USB終端。基本上,它應該沒有收到一些數據。終端有一個接收和發送列表框,它不能與底層應用程序功能一起正常工作。 – bassplayer142