我想知道在"for"循环中是否有一种方法可以为根据其索引号命名的字符串变量赋值?
假设我有3个字符串变量:
string message1 = null;
string message2 = null;
string message3 = null;
Run Code Online (Sandbox Code Playgroud)
我希望'for'循环执行类似下面的代码:
for (int i = 1; i <=3; i++)
{
messagei = "blabla" + i.ToString();
}
Run Code Online (Sandbox Code Playgroud)
我不想使用"if"或"switch",因为它会使代码更难以遵循.
有没有办法做到这一点?
我正在尝试使用样式颜色等格式化DataGridView.DGV在窗体启动时加载(通过buildGrid方法),如构造函数的代码中所示:
public Report1(DataSet dsReport1, string sDateRep)
{
InitializeComponent();
sDate = sDateRep;
dsReportGrid = dsReport1;
orgDataset();
buildGrid();
}
Run Code Online (Sandbox Code Playgroud)
这是DGV的代码:
private void buildGrid()
{
try
{
dataGridView1.DataSource = dsReportGrid.Tables[0];
Controls.Add(dataGridView1);
dataGridView1.Visible = true;
dataGridView1.Rows[2].Cells[1].Style.ForeColor = Color.Red;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Run Code Online (Sandbox Code Playgroud)
它加载DGV很好,问题是它不会像我希望的那样给单元上色,它只是让它变黑.
有趣的是,当我通过任何其他方法调用buildGrid时,在构造函数之外,它会为它着色!例如:
private void Form1_Resize(object sender, EventArgs e)
{
buildGrid();
}
Run Code Online (Sandbox Code Playgroud)
为什么会这样?如何让它从一开始就为细胞着色?
谢谢!