在我的应用程序中,我使用SaveFileDialog弹出另存为窗口.我在文件类型部分中限制了要使用以下代码保存为.dat的文件.
sfdialog.Filter = "Data Files (*.dat*)|*.dat*";
Run Code Online (Sandbox Code Playgroud)
我想知道怎么做是使用.dat扩展名自动保存.目前它只保存没有扩展名,除非我专门将其保存为filename.dat.
我之前问了这个问题,并且认为我已经弄明白但是它仍然无效. Form.Show()稍微移动窗体位置
所以我有一个父表单,用show()打开一堆子,然后当需要一个时,我使用bringToFront()来显示它.问题是当show()被调用时,子窗体完全对齐,但是当我使用bringToFront时,它会向左和向下移动1 px,这会使我的边框变形.我在show()之前将所有子窗体startPosition属性设置为Manual.我在前面设置了frm.location = new Point(x,y).当show()时,我也试过明确设置frm.location.当我带上ToFront()时,它仍然左右移动1 px.有没有什么与bringToFront()不允许我更改窗体的位置属性?这是我的代码:
if (myNewForm != null)
{
myNewForm.MdiParent = this;
bool isFormOpen = false;
foreach (Form frm in Application.OpenForms)
{
if (frm.GetType() == myNewForm.GetType())
{
frm.WindowState = FormWindowState.Maximized;
frm.BringToFront();
frm.Location = new Point(-4, -30);
isFormOpen = true;
break;
}
}
if (!isFormOpen)
{
myNewForm.StartPosition = FormStartPosition.Manual;
myNewForm.Show();
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:好的显然微软有一个错误,让StartPosition只适用于ShowDialog()而不是Show()但拒绝修复它:http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeededID = 107589
但我的应用程序需要保持所有不同的表单打开,并在需要时将它们带到前面...所以ShowDialog()无法在这个实例中正确使用正确吗?那么我有什么选择?任何?
我正在创建可以作为GUI运行的ac#winforms项目,或者可以从命令行进行操作.目前,我可以处理命令行输入和参数.我可以从命令行运行程序,我可以使用该程序来处理参数.但Console.Writeline()绝对没有任何作用.任何线索为什么会这样?
我有一种情况,我需要用一个按钮创建视图框.对此的xaml如下:请观察viewbox的Width属性.宽度应根据滑动条增加/减少(向右移动增加它,向左移动减小它).如下所示我知道如何在xaml中执行它并且它工作正常.但我的要求是能够在后面的代码中创建视图框并为其分配属性.
<WrapPanel x:Name="_wrpImageButtons" Grid.IsSharedSizeScope="True"
ScrollViewer.CanContentScroll="True" d:LayoutOverrides="Height"
Margin="5">
<Viewbox x:Name="_ScaleButton"
Width="{Binding Value, ElementName=ZoomSlider}" Stretch="Fill">
<CustomButton:_uscVCARSImagesButton x:Name="_btnImage1"/>
</Viewbox>
</WrapPanel>
Run Code Online (Sandbox Code Playgroud)
谢谢.
我正在尝试发送带有图像边框的 html 电子邮件
<p align="center">
<img src="images/pic1.jpg" width="443" height="148" align="middle"
style="border: 1px solid grey; padding:10px;" border="1"/>
</p>
Run Code Online (Sandbox Code Playgroud)
但是,边框不会显示在任何电子邮件客户端中。我怎样才能解决这个问题?
我有一个主窗体的应用程序,它作为一种框架和主窗体内的一个区域,我打开其他窗体.这些表单永远不能关闭,所以当打开一个新表单时我会使用此代码首次打开它:
frm.WindowState = FormWindowState.Maximized;
frm.BringToFront();
Run Code Online (Sandbox Code Playgroud)
然后如果另一个表单被打开,我需要再次显示它我只是使用:
frm.Show();
Run Code Online (Sandbox Code Playgroud)
问题是当我第一次打开表格时它完美定位并且边框排列很好.当我使用frm.Show()将其恢复时,它会稍微向左和向下移动.有什么线索的原因?
我在C#中有一个TreeView,我正在切换NodeMouseClick事件,并根据点击的节点打开相应的表单,工作正常.我的问题是一些节点有子节点,如果你单击该节点旁边的小+框,它将展开树,但它也将选择该父节点.我只是希望它扩展树而不是选择父.知道我做错了什么或我能做什么?
我正在使用TemplateField将额外的"计算"列添加到绑定到数据库中的表的gridview.我收到这个奇怪的错误,我不知道如何开始调试它.我可能会做错误/不可行的<%#语法,如果是这样,请告诉我什么.我不完全理解它.
码:
<asp:TemplateField>
<ItemTemplate>
<asp:Label runat="server" Text='<%# Math.Round(decimal.Parse((((int.Parse(Eval("Num1").ToString())) * 36) / (235 * int.Parse(Eval("Num2").ToString()))).ToString()), 0); %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
Run Code Online (Sandbox Code Playgroud)
错误:CS1525:无效的表达式术语','
有一个逗号......但它是Math.Round的第二个参数.或者我正在做一些不能用这种方式做的事情?此外,Math.Round行不表示代码隐藏中的任何错误(我的括号应该是好的).