Tag: winforms

如何用上标中的幂来格式化科学记数法中的数字

我需要写下这样的值: 9.6 x 10² 9.6 x 10¹² 我需要知道是否有一种方法可以在字符串中格式化数字。

影响ListView标头的Windows主题

我用一个包含ListView的简单表单创建了新的Windows窗体应用程序(C#)。 然后我将View属性更改为Details,并增加了此ListView中使用的字体的大小,这是结果: 这是它在具有Windows经典主题的Windows XP上的外观: 这是Windows XP主题的结果: 我可以通过删除Application.EnableVisualStyles()调用或更改Application.VisualStyleState来阻止我的应用程序的外观受Visual Styles的影响: 虽然此更改使ListView具有所需的外观,但它也会影响其他控件的外观。 我希望我的ListView是唯一不受Visual Styles影响的控件 。 我也发现了类似的问题试图解决它: 你能为一个窗口控件关闭视觉样式/主题吗? 如何仅为一个控件而不是其子控件禁用视觉样式? 不幸的是,没有提到的解决方案有效 看起来标题本身将由一些受视觉样式影响的控件组成,即使禁用了ListView控件的视觉样式也是如此。 任何阻止视觉样式影响ListView标题外观的C#解决方案都将受到赞赏。

是什么阻止我调整窗口对象的大小(缩小尺寸)?

我有一个Windows窗体对象,包含3个对象,一个树视图,一个richtextbox和一个tabcontrol。 它们没有停靠在窗体中,但它们是锚定的(顶部+左侧)。 我已经编写了代码来调整form-resize事件处理程序时调整它们的大小,但它似乎只是为了增加表单大小,也就是说,我无法将表单调整为更小的大小。 这包括我首次增加主窗体然后尝试将其恢复为原始大小的时间。 使用以下代码调整每个Formresize后,手动设置三个对象的大小: treeView1.Height += (this.Height – oldHeight); richTextBox1.Width += (this.Width – oldWidth); tabControl1.Width += (this.Width – oldWidth); tabControl1.Height += (this.Height – oldHeight); oldHeight = this.Height; oldWidth = this.Width; 没有任何对象具有设置的最小大小(在整个大小调整过程中它们都是0,0) 是什么阻止将表单调整为较小的大小?

ClickOnce应用程序错误:部署和应用程序没有匹配的安全区域

我在使用FireFox和Chrome浏览器的ClickOnce应用程序上遇到了麻烦它运行正常。 例外的细节是: PLATFORM VERSION INFO Windows : 6.1.7600.0 (Win32NT) Common Language Runtime : 4.0.30319.239 System.Deployment.dll : 4.0.30319.1 (RTMRel.030319-0100) clr.dll : 4.0.30319.239 (RTMGDR.030319-2300) dfdll.dll : 4.0.30319.1 (RTMRel.030319-0100) dfshim.dll : 4.0.31106.0 (Main.031106-0000) SOURCES Deployment url : file:///C:/Users/ibz/Downloads/MyApp.application IDENTITIES Deployment Identity : MyApp.application, Version=1.0.1.23, Culture=neutral, PublicKeyToken=0000000000000000, processorArchitecture=msil APPLICATION SUMMARY * Online only application. * Trust url parameter is […]

等待没有异步/等待的异步HTTP请求的响应

我正在开发一个Windows Forms应用程序的插件,它可以在地图上显示终端的位置(在WebBrowser控件中)。 案例如下: 用户点击按钮(调用插件); 创建异步HTTP请求(确定终端的坐标); 随着所有回复的收到 – 地图应该显示给用户。 我写了代码: foreach (var terminal in terminals) { var webRequest = (HttpWebRequest)WebRequest.Create(GeoCoder.GeoCodeUrl + terminal.Address); var taskResp = Task.Factory.FromAsync(webRequest.BeginGetResponse, webRequest.EndGetResponse, terminal.Id); var taskResult = taskResp.ContinueWith(task => { // Parse the response }); runningTasks.Add(taskResult); } Task.WaitAll(runningTasks.ToArray()); // UI Thread blocks here! webBrowser1.DocumentText = … 它会阻止UI线程,因为我必须等到我才能显示地图之前得到所有响应(坐标)。 我想知道如何避免这种情况(没有同步的http请求)? PS我知道如何使用async / await但不能使用它们 – […]

将DataGridViewComboBoxColumn.Valuemember设置为列表

我需要知道是否可以直接从字符串列表设置DataGridViewComboBoxColumn的ValueMember属性。 例如 List productNames = new List(); List t = new List(); foreach (var p in products) { var x = p.Product; itemListing = x; foreach (var pn in x) { productNames.Add(pn.name); } } …………. // set values to combobox column cells in datagridview GridSellProducts.Rows.Add(); DataGridViewComboBoxColumn cmbItems = (DataGridViewComboBoxColumn)GridSellProducts.Columns[“Item”]; cmbItems.DataSource = productNames; cmbItems.DisplayMember = cmbItems.ValueMember; […]

将windows.forms控件添加到wpf

任何添加windows.forms控件到xaml的想法。 我有这个代码 xmlns:wf=”clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms” 但我有一个例外。 我不知道该怎么做。 我被困在这里。 详细的例外情况如下。 System.Windows.Markup.XamlParseException was unhandled HResult=-2146233087 Message=’Initialization of ‘Billing.MainWindow’ threw an exception.’ Line number ‘6’ and line position ‘9’. Source=PresentationFramework LineNumber=6 LinePosition=9 StackTrace: at System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri) at System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri) at System.Windows.Markup.XamlReader.LoadBaml(Stream stream, […]

自定义排序顺序 – DataGridView

是否可以在datagridview中对此进行排序,而无需在+之后将数据填充为3个值。 数据类型是字符串,datagridview列是文本。 10:10+01 10:10+100 10:10+110 10:10+10 应该这样排序 10:10+01 10:10+10 10:10+100 10:10+110 也许将排序模式改为程序化可能会有所帮助? 任何输入将不胜感激 编辑:复制到dt然后绑定到数据视图的数据示例。 DataTable dtTest = new DataTable(); dtTest.Columns.Add(“Column1”, typeof(string)); dtTest.Rows.Add(“10:11+1”); dtTest.Rows.Add(“10:11+101”); dtTest.Rows.Add(“10:11+101”); dtTest.Rows.Add(“10:11+2”); dtTest.Rows.Add(“10:11+200”); dtTest.Rows.Add(“10:10+1110”); DataView dvTest = new DataView(dtTest); dataGridView1.DataSource = dvTest; 示例排序顺序 10:10+1110 10:11+1 10:11+101 10:11+101 10:11+2 10:11+200

在树状视图中显示文件夹和文件(仅限.doc / docx)及其图标

我在C#中创建一个窗口表单,我有一个TreeView控件。 我必须做以下任务: 单击浏览按钮 选择基本文件夹 显示基本文件夹的所有文件( .doc / .docx )和文件夹及其图标 单击子文件夹将其展开并显示其包含的文件和文件夹 请给我一些建议/链接。

C#打开一个表单,然后从另一个方法关闭它

我对C#很陌生,对某些事情有点小问题。 我认为线程可能就是答案,但这只是我在寻找解决方案时所采用的Buzz-Word。 名称空间测试 { 公共部分类Form1:表格 { 私人Form2 form2; 公共Form1() { 的InitializeComponent(); form2 = new Form2(); } private void runCheck(object source,System.Timers.ElapsedEventArgs e) { form2.ShowDialog(); form2.TopMost = true; } private void runCheckFalse() { form2.Hide(); } } 这只是我的剥离应用程序的快速代码片段,但是在尝试这个时我得到一个错误:跨线程操作无效:控制’Form2’从一个线程访问,而不是创建它的线程。 另外作为旁注,我使用的是form2.TopMost = true; 尝试在其他所有内容上打开窗口,但这通常最终落在Visual Studio等后面