webForumDet fria alternativet

Problem med att lägga till en icon i en picturebox i en usercontrol

.NET

4 svar · 229 visningar · startad av saw

Medlem sedan mars 20011 880 inlägg
Frågan#1

Det här borde vara lätt, men jag misslyckas.

private System.Windows.Forms.PictureBox pictureBox1;

//lite kod
// 
			// pictureBox1
			// 
			this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image")));
			this.pictureBox1.Location = new System.Drawing.Point(116, 17);
			this.pictureBox1.Name = "pictureBox1";
			this.pictureBox1.Size = new System.Drawing.Size(16, 16);
			this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
			this.pictureBox1.TabIndex = 2;
			this.pictureBox1.TabStop = false;
			this.pictureBox1.Paint += new System.Windows.Forms.PaintEventHandler(this.pictureBox1_Paint);

//försöker att använda pictureboxen

pictureBox1.SizeMode = PictureBoxSizeMode.AutoSize ;
			Bitmap MyImage = new Bitmap("E:\\C#\\Iconer\\WinXP\\59.ico");
			pictureBox1.ClientSize = new Size(14, 14);
			pictureBox1.Image = (Image) MyImage ;

Jag får inga felmedelanden, men ingen icon ritas upp.
Vad gör jag för fel, eller kanske någon annan metod? :q

Medlem sedan nov. 20022 355 inlägg
#2

Med rätt stor sannolikhet så har du fel sökväg till ikonen, kolla upp den! Men i din kod så kopplar du heller inte din picturebox till formen:

this.Controls.Add(this.pictureBox1);

Även instansiering av pictureboxen visas inte men om du inte skulle gjort det så skulle du fått felmeddelanden!

Medlem sedan mars 20011 880 inlägg
#3

Kopplingen hadde jag missat, men sökvägen är rätt. Någon icon blir det inte i alla fall.
Jag borde kanske visa lite mera kod.

public class in_Box : System.ComponentModel.Component
	{
//lite kod
public Form in_putBox = new Form();
private System.Windows.Forms.PictureBox pictureBox1;

Vi talar alltså om en usercontroll som jag bygger på.
Eftersom det är en ComponentModel.Component, så finns ju inte form i igentlig bemärkelse, därför så skapade jag en new Form.

Jag antar att det är det här som krångla.

Medlem sedan nov. 20022 355 inlägg
#4

Form, ska du nog inte ärva ifrån. om du vill skapa en usercontrol ärv ifrån System.Windows.Forms.UserControl

Jag är väl själv ute på lite hal is nu om vad som är korrekt men det ska fungera med att ärva ifrån

System.Windows.Forms.UserControl

och sedan kopplar du din picturebox till denna i din usercontroll

this.Controls.Add(this.pictureBox1);
Medlem sedan mars 20011 880 inlägg
#5

Jag har kanske varit lite nödtorftig när det gäller information.
Så här är tanken(och den fungera KANONBRA).
Jag saknade den gamla inputboxen ifrån VB, och beslöt mig för att bygga en i C#.
Jag ville ha det likadant som t ex OpenFileDialog, alltså att man
inte skulle rita upp objectet på formen, utan att den skulle befinna sig "nedanför" formen.

Jag har lyckat väldigt bra och kan öppna upp den med:

this.Text=in_Box1.inputBox("SAW Applikation","Vänligen skriv in ditt namn","Här skriver Du");

För att kröna detta verktyg med verklig framgång, så hadde jag
velat ha möjligheten att lägga in en icon(ung som MessageBox),
alltså skicka med ett namn, och det skulle motsvara en icon.
Jag antar att det borde göras med en public enum på något sätt.

Hursomhelst, så det första är ju att kunna visa en icon, utan det
så kan jag ju skriva kod till förb----se, eller hur?

274 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
132 ms — ändringar (db)