Что может вызвать ошибку сетки данных в столбце изображения только при развертывании на компьютере с Windows 10? - PullRequest
1 голос
/ 07 марта 2019

У меня есть приложение на C # для оконных форм с сеткой данных.Один столбец сетки - это столбец изображений, в который я вставил растровое изображение. Он отлично работает на компьютере с Windows 10, на котором я его разработал, и при развертывании на компьютерах с Windows 7, но на всех других компьютерах с Windows 10 я получаю сообщение об ошибке.Ошибка «System.FormatException: отформатированное значение ячейки имеет неправильный тип».Я не смог воссоздать ошибку на моей машине для разработки, поэтому я не уверен, как выяснить, что не так.Я подумал, что это может произойти, потому что при установке я не включил некоторые предварительные условия (это приложение Click Once), но я не вижу ничего упущенного.Я подумал, что, возможно, он не может найти ссылки на изображение, поэтому я попытался нарисовать их, но все равно получил ту же ошибку.Я предполагаю, что это связано с моим столбцом растрового изображения, но я не знаю, почему это будет работать на моем компьютере и Windows 7, а не на других машинах Windows 10.Любые идеи о том, что происходит и / или как это исправить?

Вот дизайнер для моей сетки: enter image description here

Вот настройки DefaultCellStyle.Я думал, что NullValue может быть причиной.У меня изначально был System.Drawing.Bitmap в нем.Я пытался использовать ноль, но все равно получаю ошибку.enter image description here

Вот код для заполнения этого столбца.

 Bitmap bmpCombineOnly = new Bitmap(1, 1);

 Bitmap bmpYellow = new Bitmap(26, 26);
 Graphics grYellow = Graphics.FromImage(bmpYellow);
 grYellow.DrawEllipse(new Pen(Color.Yellow, 2), 0, 0, 25, 25);
 grYellow.FillEllipse(new SolidBrush(Color.Yellow), 0, 0, 25, 25);

 bmpCombineOnly = bmpYellow;

 foreach (DataGridViewRow row in ItemsInLocationDataGridView.Rows)
 {
     row.Cells["Icon"].Value = bmpCombineOnly;
 }
...