我们最近升级VS 2005到VS 2008(Windows XP).我们SlimDx在其中一个项目中使用.升级后一切正常,除了我的恢复功能,它会在devicelost/device reset上调用
D3DERR_INVALIDCALL:无效通话(-2005530516)
我使用Ctrl- Alt- Del然后Escape模拟设备丢失.
void Recover()
{
try
{
if (res.Code == D3DERR_DEVICENOTRESET)
{
res = m_device.Reset(m_presentParams); //Crashes on this.
if (res.IsSuccess)
{
m_deviceLost = false;
}
}
}
catch(Exception e)
{}
}
Run Code Online (Sandbox Code Playgroud)
这是否与之相关VS 2008,因为它曾经很好地与之合作VS 2005?
我有一个KeyDown和KeyUp事件的控件,如下所示.我遇到的问题是KeyDown中的'x'为TRUE,而KeyUp中的'x'总是为FALSE.我正在尝试检测Alt键(您可能已经猜到了).
有没有我不知道的gottcha.我的意思是,当我按下Alt时它会检测到它没问题但是在keyup上它是假的.
任何建议/想法
谢谢
private void MyControl_KeyDown(object sender, KeyEventArgs e)
{
bool x;
x = ((int) (e.KeyData & Keys.Alt) != 0);
x = (e.KeyData & Keys.Alt) == Keys.Alt;
x = e.Alt;
}
private void MyControl_KeyUp(object sender, KeyEventArgs e)
{
bool x;
x = ((int) (e.KeyData & Keys.Alt) != 0);
x = (e.KeyData & Keys.Alt) == Keys.Alt;
x = e.Alt;
}
Run Code Online (Sandbox Code Playgroud) 我有一个包含多个项目的解决方案.这两个项目都有表格.
例
MySolution
| ____________________ Project1(Windows窗体)
| ____________________ Project2(也是Windows窗体)
现在我想从Project1中的Form调用Project2中的Form.有点像这样
using (Form2 f2 = new Form2(myFile))
{
//....
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,将Form2移动到Project1不是一个选项.
什么是最好的方法.
谢谢