cs_amlb
Messages postés8Date d'inscriptionlundi 30 janvier 2006StatutMembreDernière intervention18 mai 2006
-
10 mai 2006 à 21:57
HansPrestat
Messages postés61Date d'inscriptionvendredi 19 janvier 2007StatutMembreDernière intervention29 juin 2008
-
13 déc. 2007 à 22:56
Bonjour,
j'ai un boutton qui me permet créer des PictureBox dynamiquement avec un certain BackgroundImage dont j'ai besoin plus tard.
Le problème est le suivant, au moment de récupérer le contenu du BackgroundImage de ma PictureBox créé dynamiquement, le message suivant apparait:
La référence d'objet n'est pas définie à une instance d'objet.
Voici mon code:
public class WinForm : System.Windows.Forms.Form
{
public PictureBox aa;
...
private System.ComponentModel.IContainer components;
...
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 11 mai 2006 à 13:21
Me souviens plus en .NET 1.1 , ce qui est sûr c'est que VS nomme les ressources d'une manière particulière, avec le nom de l'assembly ou de l'espace de nom, utlises >Reflector< pour voir le nom de tes ressources..
cs_amlb
Messages postés8Date d'inscriptionlundi 30 janvier 2006StatutMembreDernière intervention18 mai 2006 12 mai 2006 à 08:49
Oulala, on commence à faire dans le compliqué...
Je reprends, le trucs c'est que mes pbx_? sont créées dynamiquement dans un TabPage... Détail qui me paraissait négligeable mais qui ne l'est pas :)
Voilà ce que j'ai fait: comme mes pbx_? sont créées dynamiquement, il faut les traiter de façon dynamique et cela donne ca:
s = tab_info[0] //s <-- pbx_?
//Parcourt tous les onglets de tab_control
foreach (object p in tab_control.Controls)
{
TabPage tbp = (TabPage)p;
//Parcourt toutes les pbx_? créées dynamiquement dans ce TabPage
foreach (object o in tbp.Controls)
{
PictureBox pbx = (PictureBox)o;
//Si je trouve la pbx_? dont j'ai besoin, je récupère sont .BackgroundImage pour ensuite faire un Graphics.DrawImage(im,etc...)
if (pbx.Name == s)
{
s = s + ".BackgroundImage";
im = (Bitmap)rm.GetObject(s);
}
}
}
J'ai déclaré ma variable rm de cette façcon:
ResourceManager rm = new ResourceManager("Programme.resources",typeof(WinForm).Assembly);
namespace: Programme
public class WinForm : System.Windows.Forms.Form
J'ai un erreur de barbare du style:
'Un nom de base ResourceManager ne doit pas terminer par .resources. Il doit être identique à MyResources, que ResourceManager peut transformer en MyResources.<culture>.resources ; par exemple, MyResources.en-US.resources.
Qu'est-ce que je doi mettre comme NomDuFichierDeRessource ? .resources ?
Qu'est-ce que je dois mettre comme NomDeLaRessource ? pbx_?.BackgroundImage ?
HansPrestat
Messages postés61Date d'inscriptionvendredi 19 janvier 2007StatutMembreDernière intervention29 juin 2008 12 déc. 2007 à 21:25
Tant qu'on est dans la création de PictureBox dynamique, je voudrai savoir comment créer un évènement du genre: un clique change le BackColor de la PictureBox.
Voici mon code:
PictureBox
unePictureBox =
new
PictureBox();unePictureBox.Location =
new
Point(280, 32);unePictureBox.Size =
new
Size(123,123);unePictureBox.BackColor =
Color.White;
unePictureBox.Name =
"kiki";
this.Controls.Add(unePictureBox);
Je crois que c'est un truc comme ça:
unePictureBox.BackColor = ..........Et là je connais pas le code.
Si quelqu'un a une idée n'hésitez pas ça va beaucoup m'aider pour le logiciel du siècle lol.