非常に簡単なものが欠けているか、tryParse関数をまったく理解していないため、これを尋ねるのはちょっとばかげています。
素人の言葉で言えば、次のコードでやりたいことは、データグリッドビューのすべての列をコードループすることです。列名の最後の2文字が数値の場合、最後の2文字の数値(int.TryParseを使用)を別の変数と比較します。基本的に、最後の2桁を整数に変換でき、その整数が比較対象の変数よりも大きい列については、すべての列を読み取り専用にしたいのです。
以下の私のコードは、int_tryParseの前に変数を段階的に設定しようとしているので、おそらく少し平凡ですが、後で修正できます。
C#、VS2008:
foreach (DataGridViewColumn col in grd1.Columns)
{
string myCol = col.Name;
int myColLength = col.Name.Length;
string myColMonth = myCol.Substring(myColLength - 2);
if (int.TryParse(myColMonth, out myColMonth) <= myMostRecentActualMonth)
{
col.ReadOnly = true;
}
else
{
col.ReadOnly = false;
}
}