此处将为大家介绍关于将Winforms中的标签调整为左侧的详细内容,并且为您解答有关winform标签页的相关问题,此外,我们还将为您介绍关于c#–WinForms中的3D?、c#–Winforms中
此处将为大家介绍关于将Winforms中的标签调整为左侧的详细内容,并且为您解答有关winform 标签页的相关问题,此外,我们还将为您介绍关于c# – WinForms中的3D?、c# – Winforms中的WPF事件、c# – 从Winforms中的DataGridView生成PDF、c# – 使winforms可调整大小的最佳方法?的有用信息。
本文目录一览:- 将Winforms中的标签调整为左侧(winform 标签页)
- c# – WinForms中的3D?
- c# – Winforms中的WPF事件
- c# – 从Winforms中的DataGridView生成PDF
- c# – 使winforms可调整大小的最佳方法?
将Winforms中的标签调整为左侧(winform 标签页)
我有15到20个标签,可变的文本大小和文本框排列在表格中。 文本框排列在标签旁边。 表单的字体和颜色以及表单控件都可以由用户在运行时configuration。 当我正确alignment标签,并设置自动增长属性为true,并且每当字体样式更改(从Arial到格鲁吉亚)时,右alignment的标签不再右alignment。
我需要标签上的解决scheme(对于winforms),当字体大小发生变化时,会自动增长到左侧。
有没有办法在Windows(.NET)中拦截进程“杀死”命令?
C#调用本地C ++的所有function:使用什么types?
如何在VB.NET中切换Caps Lock?
有没有一种方法可以唯一标识在.NET中连接到Windows PC的任何存储介质?
如何创build无限的canvas效果?
将锚点设置为“Right”而不是“Left”(在“Right Top”而不是“Left Top”的情况下,您可能会有“Top”),我相信它应该向右(左)方向发展。 过了一段时间,因为我做了任何这样的尝试,让我知道如何去。
设置你的标签属性如下:
AutoSize = false; TextAlign = TopRight (or anything to right)
然后手动调整您的标签的最大面积,以适应您最长的文字。 这对我有效。
你可以使用TableLayoutPanel 。
您也可以使用RightToLeft标签属性而不是修改锚。
我有同样的问题。 我的修复是创建一个简单的函数来移动标签,在任何改变标签大小的事件或代码之后我都会调用它。
输入您想要增长的标签的名称,以及标签右端的X坐标。 然后,在对标签进行任何更改之后调用此函数。
private void repositionLabel(Label lab,int endPoint) { lab.Left = endPoint - lab.Width; }
例如,您有一个名为myLabel的标签(75,75),它的宽度为25,您总是希望它以(100,75)结尾。 那么当这发生时:
myLabel.Text = "blah blah blah blah blah blah";
您随后按照文字更改:
repostitionLabel(myLable,100);
这将使它看起来像扩展到左边的标签。
c# – WinForms中的3D?
我应该使用XNA吗?
我找到了这个教程:http://create.msdn.com/en-US/education/catalog/sample/winforms_series_1
但我不明白我怎么能只将ContentLibrary和内容添加到我的WinForms项目.
或者是否可以使用scaleform GFx?
对于Half2D还是3D?
解决方法
然后为你想要3D的图片放一个wpf面板.从互联网上剪切并粘贴3d wpf代码.
c# – Winforms中的WPF事件
它似乎工作正常,但我希望能够以Winforms方式处理此控件的KeyPress事件(没有RoutedCommands和InputGestures),所以我虽然可以使用KeyPreview设置处理Form的KeyDown事件,但WPF事件似乎没有冒泡到表格.
基本上,如何以Winforms方式访问WPF控件上的KeyDown事件?
解决方法
这是一个例子.假设:你的WinForm是Form1类型,WpfControl是UserControl1,WpfControl的元素主机被调用(不会猜到)) – elementHost.
public Form1() { InitializeComponent(); elementHost.ChildChanged += ElementHost_ChildChanged; } private void ElementHost_ChildChanged(object sender,ChildChangedEventArgs e) { var ctr = (elementHost.Child as UserControl1); if (ctr == null) return; ctr.KeyDown += ctr_KeyDown; } void ctr_KeyDown(object sender,System.Windows.Input.KeyEventArgs e) { /* your custom handling for key-presses */ }
UPD:e.KeyboardDevice.Modifiers(e是System.Windows.Input.KeyEventArgs)存储有关Ctrl,Alt等的信息.
c# – 从Winforms中的DataGridView生成PDF
我刚开始尝试学习如何使用iTextSharp来实现这一目标.
我的代码的结果是一个无法打开的PDF.我收到错误消息“文件无法打开”
这是我生成PDF的代码
void SendToPDF(string heading,string filename) { try { Document doc = new Document(PageSize.A4.Rotate(),30,20,20); string myDocs = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); if (!Directory.Exists(myDocs + @"\Production Reports")) Directory.CreateDirectory(myDocs + @"\Production Reports"); PdfWriter.GetInstance(doc,new FileStream(myDocs + @"\Production Reports\" + filename + ".pdf",FileMode.Append,FileAccess.Write)); iTextSharp.text.Font titleFont = new iTextSharp.text.Font(iTextSharp.text.Font.FontFamily.HELVETICA,14.0F,iTextSharp.text.Font.BOLD,BaseColor.BLACK); iTextSharp.text.Font tableFont = new iTextSharp.text.Font(iTextSharp.text.Font.FontFamily.HELVETICA,12.0F,iTextSharp.text.Font.norMAL,BaseColor.BLACK); iTextSharp.text.Font headerfont = new iTextSharp.text.Font(iTextSharp.text.Font.FontFamily.HELVETICA,BaseColor.BLACK); PdfPTable table = new PdfPTable(GridView.Columns.Count); //table.TotalWidth = GridView.Width; //There are ALWAYS 10 columns float[] widths = new float[] { GridView.Columns[0].Width,GridView.Columns[1].Width,GridView.Columns[2].Width,GridView.Columns[3].Width,GridView.Columns[4].Width,GridView.Columns[5].Width,GridView.Columns[6].Width,GridView.Columns[7].Width,GridView.Columns[8].Width,GridView.Columns[9].Width }; table.SetWidths(widths); table.HorizontalAlignment = 1; // 0 - left,1 - center,2 - right; table.SpacingBefore = 2.0F; PdfPCell cell = null; doc.open(); Phrase p = new Phrase(new Chunk(heading,titleFont)); doc.Add(p); foreach (DataGridViewColumn c in GridView.Columns) { cell = new PdfPCell(new Phrase(new Chunk(c.HeaderText,headerfont))); cell.HorizontalAlignment = PdfPCell.ALIGN_CENTER; cell.VerticalAlignment = PdfPCell.ALIGN_CENTER; table.AddCell(cell); } if (GridView.Rows.Count > 0) { for (int i = 0; i < GridView.Rows.Count - 1; i++) { for (int j = 0; j < GridView.Columns.Count - 1; j++) { cell = new PdfPCell(new Phrase(GridView.Rows[i].Cells[j].Value.ToString(),tableFont)); cell.HorizontalAlignment = PdfPCell.ALIGN_CENTER; cell.VerticalAlignment = PdfPCell.ALIGN_CENTER; table.AddCell(cell); } } } doc.Add(table); doc.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message + "\r\n" + ex.StackTrace,"Error Generating PDF",MessageBoxButtons.OK,MessageBoxIcon.Error); } }
我猜我的问题与设置列宽有关,但我不确定.有一次,只有一次..当我试图打开“非法浮点除0”或类似的东西时,我看到了一个错误.
任何帮助是极大的赞赏.
解决方法
c# – 使winforms可调整大小的最佳方法?
当用户更改表单的大小时,如何使表单元素(例如datagridview,文本区域等)缩放.
几乎所有的表单都是从一个特定的表单中继承的,所以如果我能在基类中做些什么,那就太好了.
解决方法
Anchor属性控制控件的哪些边缘“绑定”或“绑定”到其窗体的相应边缘.
例如,如果将“锚点”设置为“底部”,则控件的下边缘与其父级底部之间的距离不会更改,因此在调整窗体大小时控件将向下移动.
如果将Anchor设置为Top |在底部,当您调整表单大小时,控件将垂直调整大小.
要使控件使用表单调整大小,请将“锚点”设置为全部四个边,或将“停靠”设置为“填充”.
关于将Winforms中的标签调整为左侧和winform 标签页的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于c# – WinForms中的3D?、c# – Winforms中的WPF事件、c# – 从Winforms中的DataGridView生成PDF、c# – 使winforms可调整大小的最佳方法?等相关内容,可以在本站寻找。
本文标签: