我目前有以下方法

public void printTitle(string title){
    // settings for stringformat
    g.DrawString(title, drawFontTitle, Brushes.White, x, y, stringFormatTitle);
}


但是,我试图让输入定义标题的颜色,如下所示:

public void printTitle(string title, Brushes titleColor){
    // settings for stringformat
    g.DrawString(title, drawFontTitle, titleColor, x, y, stringFormatTitle);
}


它会像这样使用:

printTitle("Title Text", Brushes.White);

但是,我认为声明Brushes titleColor会导致错误时存在问题。

最佳答案

问题是您正在传递Brushes.Color的值,该值是brush类型,并且您的方法将Brushes作为参数类型:

public void printTitle(string title, Brushes titleColor)
{
    // settings for stringformat
    g.DrawString(title, drawFontTitle, titleColor, x, y, stringFormatTitle);
}


因此,使用它代替它会起作用:

public void printTitle(string title, Brush titleColor)
{
    // settings for stringformat
    g.DrawString(title, drawFontTitle, titleColor, x, y, stringFormatTitle);
}

10-08 12:34