GVKun编程网logo

将Winforms中的标签调整为左侧(winform 标签页)

16

此处将为大家介绍关于将Winforms中的标签调整为左侧的详细内容,并且为您解答有关winform标签页的相关问题,此外,我们还将为您介绍关于c#–WinForms中的3D?、c#–Winforms中

此处将为大家介绍关于将Winforms中的标签调整为左侧的详细内容,并且为您解答有关winform 标签页的相关问题,此外,我们还将为您介绍关于c# – WinForms中的3D?、c# – Winforms中的WPF事件、c# – 从Winforms中的DataGridView生成PDF、c# – 使winforms可调整大小的最佳方法?的有用信息。

本文目录一览:

将Winforms中的标签调整为左侧(winform 标签页)

将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?

c# – WinForms中的3D?

如何在WinForms中使用3D视图?

我应该使用XNA吗?

我找到了这个教程:http://create.msdn.com/en-US/education/catalog/sample/winforms_series_1

但我不明白我怎么能只将ContentLibrary和内容添加到我的WinForms项目.

或者是否可以使用scaleform GFx?
对于Half2D还是3D?

解决方法

使用WPF.您可以混合和匹配表单. WPF有一个winforms容器,你可以放入一个窗口并填充它.但你可以使用开箱即用的WPF,只需要很少的教育 – 提示=使窗口固定大小或调整大小将控制您的控件.做正确的事情很难.

然后为你想要3D的图片放一个wpf面板.从互联网上剪切并粘贴3d wpf代码.

c# – Winforms中的WPF事件

c# – Winforms中的WPF事件

我有一个 Winforms应用程序,它在ElementHost中使用WPF控件(如果重要,则使用Avalon Edit).

它似乎工作正常,但我希望能够以Winforms方式处理此控件的KeyPress事件(没有RoutedCommands和InputGestures),所以我虽然可以使用KeyPreview设置处理Form的KeyDown事件,但WPF事件似乎没有冒泡到表格.

基本上,如何以Winforms方式访问WPF控件上的KeyDown事件?

解决方法

您可以尝试为 WpfControl本身添加自定义事件处理程序,而不是尝试连接到WinForm的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

c# – 从Winforms中的DataGridView生成PDF

我正在尝试从数据库中填充的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”或类似的东西时,我看到了一个错误.

任何帮助是极大的赞赏.

解决方法

听起来很明显,但你的程序没有运行并将pdf文件锁定到它的进程,从而阻止了adobe pdf阅读器的阅读呢?

c# – 使winforms可调整大小的最佳方法?

c# – 使winforms可调整大小的最佳方法?

我正在开发一个带有很多 winforms的大型c#项目,即使你可以调整表单大小,表单中的元素也不会缩放.

当用户更改表单的大小时,如何使表单元素(例如datagridview,文本区域等)缩放.

几乎所有的表单都是从一个特定的表单中继承的,所以如果我能在基类中做些什么,那就太好了.

解决方法

您应该在表单中的控件上设置Anchor和Dock属性.

Anchor属性控制控件的哪些边缘“绑定”或“绑定”到其窗体的相应边缘.
例如,如果将“锚点”设置为“底部”,则控件的下边缘与其父级底部之间的距离不会更改,因此在调整窗体大小时控件将向下移动.
如果将Anchor设置为Top |在底部,当您调整表单大小时,控件将垂直调整大小.

要使控件使用表单调整大小,请将“锚点”设置为全部四个边,或将“停靠”设置为“填充”.

关于将Winforms中的标签调整为左侧winform 标签页的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于c# – WinForms中的3D?、c# – Winforms中的WPF事件、c# – 从Winforms中的DataGridView生成PDF、c# – 使winforms可调整大小的最佳方法?等相关内容,可以在本站寻找。

本文标签: