少し調査した後、私はこれに対する答えを見つけました。
データグリッドビューのコンボボックス列にデータソースを設定しています。したがって、データソースを設定した後、列の DisplayMember として設定されている値のデータテーブルで最大の項目の幅を見つけています。上記の質問のリンクに記載されているのと同じロジックを使用していますが、DropDown イベントで行うのではなく、データソースを設定しながら行っています。これは 1 回限りです。上記の私の質問のリンクでは、ドロップダウンリストが表示されるたびにドロップダウンリストの幅を設定していました。ある意味、私のアプローチは良さそうです。
ここで、私がこれをどのように行ったか:
// This line is picked up from designer file for reference
DataGridViewComboBoxColumn CustomerColumn;
DataTable _customersDataTable = GetCustomers();
CustomerColumn.DataSource = _customersDataTable;
CustomerColumn.DisplayMember = Customer_Name;
CustomerColumn.ValueMember = ID;
var graphics = CreateGraphics();
// Set width of the drop down list based on the largest item in the list
CustomerColumn.DropDownWidth = (from width in
(from DataRow item in _customersDataTable.Rows
select Convert.ToInt32(graphics.MeasureString(item[Customer_Name].ToString(), Font).Width))
select width).Max();