我有一个用作数据输入向导的表单。它拥有一系列面板,每个面板都对接以填充显示区域。我使用VS 2010和VS 2012 RC一直在使用显示器一段时间没有问题。
但是,我最近安装了VS 2012 RTM并遇到了这个奇怪的问题:当在IDE中使用F5运行应用程序时,App.vshost.exe显示的表格几个像素太窄而且显示的是向导中的停靠面板。直接运行App.exe(通过IDE中的Ctrl-F5或直接运行.exe)时,表单大小正确。调试和发布配置都会出现同样的问题。
我测试了VS 2010中的代码,并且App.vshost.exe和App.exe都显示相同的特定向导和&页。
我已将其缩小为将对象显示为对话框,其中显示的表单将其FormBorderStyle设置为FixedSingle。例如:
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
SubForm subForm = new SubForm();
subForm.ShowDialog(this);
}
}
public partial class SubForm : Form
{
public SubForm()
{
InitializeComponent();
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
}
}
在上面的示例中,显示的SubForm的大小取决于您是否正在运行App.vshost.exe或App.exe。 (在我的实际代码中,表单边框样式被设置为基本表单的.Designer.cs文件的一部分。)
有没有人知道为什么编译的App.vshost.exe会以不同的方式显示?更好的是,有没有人知道我如何调整VS 2012,以便我可以信任App.vshost.exe的显示输出?谢谢!
答案 0 :(得分:0)
因此,事实证明它是/ Visual Studio 2012中的一个错误。建议的解决方法是禁用Visual Studio托管过程。