Я предполагаю, что вы использовали строку, потому что хотели иметь возможность передавать значение null, а System.Drawing.Color, являющийся структурой, не может иметь значение null.
В этом случае либо используйте Nullable (http://msdn.microsoft.com/en-us/library/b3h38hb0%28v=vs.80%29.aspx), который может быть нулевым, либо вы можете рассматривать какое-то другое значение как «значение по умолчанию», скажем, alpha = 0.
Чтобы передать значение в конструкторе, просто перейдите в файл кода для формы (тот, в котором вы кодируете материал для событий) и найдите функцию конструктора (с тем же именем, что и у формы), например ::
namespace MyApp
{
public partial class MyForm : Form
{
public MyForm()
{
InitializeComponent();
}
...
И добавить к нему параметры:
namespace MyApp
{
public partial class MyForm : Form
{
public MyForm(System.drawing.color background)
{
InitializeComponent();
...do whatever you want with background...
}
...
Конечно, вам также нужно отредактировать места, где вы создаете эту форму, например, изменить
form = new MyForm();
form.Show();
до
form = new MyForm(backgroundColour);
form.Show();