Как растянуть изображение un в ячейке столбца изображения C# datagridview
НАШИ ДОРОГИЕ,
Я пытаюсь растянуть un image в ячейку datagridviewimagecolumn в c# вместо того, чтобы выбранная высота строки увеличивалась в соответствии с 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); } } } }
Что я уже пробовал:
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; } }
и попробуй :
row.Hight = 30;