如何从 datagrivew 列添加字体大小

本文关键字:字体 添加 datagrivew | 更新日期: 2024-11-08 03:47:02

欢迎我成为新成员。

我有一个数据网格视图,上面有 7 列。 所有这些都是加载到数据网格视图的XML文件。 我的列是

部门 , 雇佣 , 永久 , 合同 , 字体大小。

  1. 我有一个名为 employee 的 xml 文件,它被加载到我的数据网格视图中
  2. 用户将从列单元格中捕获数据
  3. 我希望用户只输入两个数字或一个数字来增加当前行的字体大小。
  4. 如果用户输入 fontsize 为 10,则当前单元格行将更改字体大小(这意味着部门、就业、永久和合同将更改其字体大小)。
  5. 更改
  6. 将仅发生在所选的当前单元格上。例如,如果您更改列索引 1。只有列索引行会更改字体大小。
  7. 我已经完成了仅允许数字的验证,但我希望它只接受两个数字。

如何根据输入的数字更改列索引的字体大小。我知道字体对话框,但这不是我想要的样子,我已经将其用于其他客户端项目。

得到了这个例子,但它不是我想要的,因为它有风格。 我只需要字体大小

WinForms DataGridView 字体大小

我的验证

    private void Gridview_Output_CellEndEdit_1(object sender, DataGridViewCellEventArgs e)
    {
        try
        {
            #region this one validate the font number/ restrctions
            int RowIndex = e.RowIndex;
            int columnIndex = e.ColumnIndex;
            if (e.ColumnIndex == 2)
            {
                bool validation = true;
                if (Gridview_.Rows[RowIndex].Cells[columnIndex].Value != null && Gridview_.Rows[RowIndex].Cells[columnIndex].Value.ToString().Trim() != "")
                {
                    string DataToValidate = Gridview_.Rows[RowIndex].Cells[columnIndex].Value.ToString();
                    foreach (char c in DataToValidate)
                    {
                        if (!char.IsDigit(c))
                        {
                            validation = false;
                            break;
                        }
                    }
                    if (validation == false)
                    {
                        MessageBox.Show("Font must be numbers only", "Error Message", MessageBoxButtons.OKCancel,MessageBoxIcon.Warning);
                        Gridview_.Rows[RowIndex].Cells[columnIndex].Value = "";
                    }
                }
            }    

加载文件

               XmlDocument doc = new XmlDocument();
                doc.Load(Employee);  

我的网格视图列索引

   Gridview_.Rows[i].Cells[1].Value.ToString(); // for Department
   Gridview_.Rows[i].Cells[2].Value.ToString(); // for Employment
   Gridview_.Rows[i].Cells[3].Value.ToString(); //for Permanent
   Gridview_.Rows[i].Cells[4].Value.ToString(); //for Contract
   Gridview_.Rows[i].Cells[5].Value.ToString(); //for Fontsize    

感谢您的帮助,我希望我的问题足够有建设性

如何从 datagrivew 列添加字体大小

您链接的帖子是为列设置它的正确方法。我从你的问题中收集到的几件事:

  1. 您只想更改选定的单元格。
  2. 您只想更改字体大小,而不想更改其他任何内容。

要更改特定的单元格字体,您可以执行以下操作:

dgv.Rows[0].Cells[0].Style.Font = newFont;

要仅设置字体的大小,您需要使用如下所示的内容来恢复以前字体的属性:

Font newFont = new Font(oldFont.FontFamily, 43, oldFont.Style, oldFont.Unit);