2009-08-16 8 views
0

J'essaie de définir l'une des couleurs personnalisées de la colordialog comme étant la couleur de fond actuelle du formulaire. Je le fais comme ceci:paramètres colordialog.customcolor pour égaler la couleur d'arrière-plan du formulaire

ColorDialog1.CustomColors(0) = Form1.BackColor.ToArgb 

cela ne fonctionne pas. aidez s'il vous plaît! vb.net code please

Veuillez noter que je n'ai besoin que d'un élément spécifique pour contenir la couleur. pas nécessairement 0, mais peut-être 9 ou 15

Répondre

2

Le getter de la propriété de ColorDialog renvoie un clone de la matrice de couleurs personnalisées, de sorte que ce que vous avez dans votre question modifiera une copie du tableau, pas le celui utilisé par le dialogue.

Pour définir une seule couleur personnalisée, obtenez la valeur de la propriété CustomColors et affectez-la à une variable. Changez les couleurs en modifiant les éléments de cette variable. Une fois cela fait, définissez la valeur de cette variable à la propriété CustomColors. Comme le dit chrissr (et les docs MSDN), la valeur par défaut est null, vous devrez donc attribuer un nouveau tableau. Je l'ai essayé dans Visual Studio et le CustomColors contenait un tableau entièrement rempli de blanc.

Questions connexes