如何在C#datagridview图像列单元格中拉伸未图像 [英] How can stretch un image in C# datagridview image column cell

查看:82
本文介绍了如何在C#datagridview图像列单元格中拉伸未图像的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们的亲爱的,

我试图将未映像的图像拉伸到c#中的datagridviewimagecolumn单元格,而不是根据un image hegh将所选行的高度增加。



OUR DEARS,
I am try to strech un image to datagridviewimagecolumn cell in c# instead of that the selected row heigh increased according to un image hegh.

ing System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace نظام_العلاوة_السنوية
{
    public partial class Form4 : Form
    {
        public Form4()
        {
            InitializeComponent();
        }
        public Form refToForm2 { get; set; }

        private void Form4_Load(object sender, EventArgs e)
        {
            
            WindowState = FormWindowState.Maximized;
            this.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
            this.BackColor = Color.Beige;
            this.ForeColor = Color.Brown;
            this.Text = "أستمارة اضافة منتسب جديد";
            //
           // public DataGridViewImageCellLayout ImageLayout {get; set;}
          //  public System.Windows.Forms.DataGridViewImageCellLayout
            dataGridView1.ColumnHeadersDefaultCellStyle.BackColor = Color.Beige;
            dataGridView1.ColumnHeadersDefaultCellStyle.ForeColor = Color.Brown;
            dataGridView1.ColumnHeadersDefaultCellStyle.Font = new Font(dataGridView1.Font, FontStyle.Bold);
            dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders;
            dataGridView1.ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.Single;
            // Resize all the row height to fit the contents of all non - header cells .
            dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders;
            // Full row selection
            dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
            dataGridView1.MultiSelect = true;
            //
            dataGridView1.ColumnCount = 11;
            dataGridView1.Columns[0].Name = "الرقم الرمزي";
            dataGridView1.Columns[1].Name = "الأسم";
            dataGridView1.Columns[2].Name = "تاريخ التعيين";
            dataGridView1.Columns[3].Name = "تاريخ آخر ترقية أو علاوة";
            dataGridView1.Columns[4].Name = "تاريخ الحصول على الشهادة";
            dataGridView1.Columns[5].Name = "الأجازات الأعتيادية";
            dataGridView1.Columns[6].Name = "الأجازات المرضية";
            dataGridView1.Columns[7].Name = "الأجازات بدون راتب";
            dataGridView1.Columns[8].Name = "الأجازات الدراسية";
            dataGridView1.Columns[9].Name = "التقييم";
            dataGridView1.Columns[10].Name = "درجة التقييم";
            // populate the rows
            string[] row1 = new string[] {"59308","أحسان محمود عباس", "29/10/1987", "18/10/2017", "13/07/1987", "10", "07", "", "", "جيد جدا", "85" };
            string[] row2 = new string[] { "12345", "غالب أحمد سلمان", "01/01/1993", "18/10/2017", "01/01/1993", "10", "07", "05", "", "", "جيد جدا" };
            object[] rows = new object[] { row1, row2 };
            foreach (string[] rowArray in rows)
            {
                dataGridView1.Rows.Add(rowArray);
            }
            // populate combobox column
            DataGridViewComboBoxColumn cmb = new DataGridViewComboBoxColumn();
            cmb.HeaderText = "الأستحقاق";
            cmb.Name = "Name";
            cmb.MaxDropDownItems = 2;
            cmb.Items.Add("يستحق");
            cmb.Items.Add("لا يستحق");
            dataGridView1.Columns.Add(cmb);
           // Adding image column
            DataGridViewImageColumn imgCol = new DataGridViewImageColumn();
            imgCol.HeaderText = "الصورة";
            imgCol.Name = "img";
            dataGridView1.Columns.Add(imgCol);
            Image img = Image.FromFile("C:\\Users\\user\\Desktop\\fsc3.jpg");
            for (int i = 0; i < dataGridView1.Columns.Count; i++ )
            {
                if (dataGridView1.Columns[i] is DataGridViewImageColumn)
                {
                    dataGridView1.Rows[0].Cells[12].Value = img;
                    ((DataGridViewImageColumn)dataGridView1.Columns[12]).ImageLayout = DataGridViewImageCellLayout.Stretch;
                }
            }
        }

        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.dataGridView1.Rows.Add();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            if(this.dataGridView1.SelectedRows.Count > 0 && this.dataGridView1.SelectedRows[0].Index != this.dataGridView1.Rows.Count -1)
            {
                this.dataGridView1.Rows.RemoveAt(this.dataGridView1.SelectedRows[0].Index);
            }
        }

             
        
    }
}





我尝试过:





What I have tried:

Image img = Image.FromFile("C:\\Users\\user\\Desktop\\fsc3.jpg");
           for (int i = 0; i < dataGridView1.Columns.Count; i++ )
           {
               if (dataGridView1.Columns[i] is DataGridViewImageColumn)
               {
                   dataGridView1.Rows[0].Cells[12].Value = img;
                   ((DataGridViewImageColumn)dataGridView1.Columns[12]).ImageLayout = DataGridViewImageCellLayout.Stretch;
               }
           }





并尝试:

行。 heght = 30;



and try :
row.heght = 30;

推荐答案

您好,问题出在:



Hello, problem is in :

// Resize all the row height to fit the contents of all non - header cells .
            dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders;





我认为您应该将'DataGridView1'的'AutoSizeRowsMo​​de'属性设置为'没有'。





一切顺利,
$ b $bŽeljkoPerić



I think that You should set 'AutoSizeRowsMode' property of 'DataGridView1' to 'None'.


All the best,
Željko Perić


这篇关于如何在C#datagridview图像列单元格中拉伸未图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆