Jag har letat runt, men kan inte hitta någonting. Benni, Jag har det så här: Benni, Nej det gjorde det inte. Benni, Andreas. vad står det på raden under [ToolboxBitmap(typeof(DrawLine))] ? Det måste vara klassdeklarationen om det skall funka. Du kan även prova att hårdkoda in en sökväg till en bildfil och se om det hjälper ex: Jag är inte säker, men jag tror att jag har hittat felkällaren. Benni, Aj, jag skall kolla det.Få en icon i toolbaren ifrån en usercontrol
Den usercontrol som jag har byggt(blev väldigt bra), skulle jag vilja, att när man har lagt till den i sin loolbar, så ville jag ha en egentillverkad icon att visas istället för kugghjulet(!).
Säkert väldigt enkelt, mej jag misslyckas.Sv: Få en icon i toolbaren ifrån en usercontrol
Du skall använda dig av ett klass-attribut som heter <b>ToolboxBitmap</b> för att ange detta. Det klluriga med detta i början brukar vara att få den att hitta filen som man skall använda. Det viktigaste är att komma ihåg att bilden skall ha samma namn som din klass, fast med bildens filformats filändelse. Du kan läsa lite mer om detta här
http://groups-beta.google.com/group/microsoft.public.dotnet.framework.aspnet.buildingcontrols/browse_thread/thread/52010f3cdd6cc79c/53ced2ad2ee211c6?q=ToolboxBitmap+group:microsoft.public.dotnet.*&_done=%2Fgroups%3Fhl%3Den%26safe%3Dimages%26q%3DToolboxBitmap+group:microsoft.public.dotnet.*%26&_doneTitle=Back+to+Search&&d#53ced2ad2ee211c6 Sv:Få en icon i toolbaren ifrån en usercontrol
<code>
namespace DrawLine
{
/// <summary>
/// Summary description for UserControl1.
/// </summary>
///
[ToolboxItem(true)]
[ToolboxBitmap(typeof(DrawLine))]
</code>
Bilden heter DrawLine.bmp
Jag får följande fel:
<code>
E:\C#\MappBuilder\DrawLine.cs(16): Attribute 'ToolboxBitmap' is not valid on this declaration type. It is valid on 'class' declarations only.
</code>
Jag förstår nog inte riktigt vad som menas.
[REDIGERAT]
Det verkar nog som om det är något galet med min VS, jag får ett error så fort som jag skriver in ToolboxBitmap.
Tydligen så får jag låta det vara.Sv: Få en icon i toolbaren ifrån en usercontrol
Löste det sig eftersom du har stängt tråden ?Sv:Få en icon i toolbaren ifrån en usercontrol
Jag hittade en hel del på nätet, men det är tydligen något lustigt i min VS men så fort som jag skriver
in [ToolboxBitmap(typeof(DrawLine))] (jag gjorde en bmp fil som heter DrawLine.bmp) så fick jag så mycke fel så jag la av.
Det fick vara som det var, efter fyra timmar så var det inte mödan värt tyckte jag.
Men tack för all din hjälp.Sv: Få en icon i toolbaren ifrån en usercontrol
Lite fräckt så öppnar jag upp tråden igen - klart vi ska lösa detta. Här kommer en liten guide skriven från minnet så vi får utgå ifrån den och ta det där ifrån.
(1) Se till att du har lagt till <b>using System.Drawing</b> i din kontroll
(2) Lägg till en bmp-fil (256färger och 16*16 pixlar stor) i ditt projekt i visual studio och placera den på <b>exakt</b> samma ställe. Så vad jag menar är att du ska lägga in den i projektet och inte enbart i katalogen. Se även till att den har samma namn som kontrollen dvs. om konrollen heter MinKontroll så ska bilden heta MinKontroll.bmp
(3) Markera bilen i visual studio (i <b>Solution Explorer</b>)
(4) Ställ om bildens <b>Build Action</b> till <b>Embedded Resource</b> i property gridden.
(5) Lägg till <b>ToolboxBitmap</b> attributet på din klass enligt följande sätt
[ToolboxBitmap(typeof(MinKontroll))]
public class MinKontroll
{
//....
}
(6) Kompilera ditt projekt
(7) Titta i din toolbox
Prova detta och återkom!
Sv:Få en icon i toolbaren ifrån en usercontrol
Jag vet inte vad jag gör för fel men.
Min usercontrol kallar jag för
<code>
DrawLine.cs
namespace DrawLine
DrawLine.bmp
using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Windows.Forms;
using System.Windows.Forms.Design;
namespace DrawLine
{
/// <summary>
/// Summary description for UserControl1.
/// </summary>
///
[ToolboxItem(true)]
[ToolboxBitmap(typeof(DrawLine))]
</code>
Jag har alltså gjort exact vad du beskrev, och som jag tidigare har hittat på nätet.
Vid kompilering:
<code>
E:\C#\MappBuilder\DrawLine.cs(17): Attribute 'ToolboxBitmap' is not valid on this declaration type. It is valid on 'class' declarations only.
</code>
Och jag har försökt på så många olika sätt att jag inte vet riktigt vad mera att göra.Sv: Få en icon i toolbaren ifrån en usercontrol
<code>
[ToolboxBitmap(@"C:\bilden.bmp")]
public class enkassklass
{
}
</code>
alternativt koda in namnet på recource filen
<code>
[ToolboxBitmap(typeof(DrawLine), "namnet_på_en_embedded_recource_bild")]
public class enkassklass
{
}
</code>
//FreddeSv:Få en icon i toolbaren ifrån en usercontrol
Jag fick ju rekomendationen att först göra en vanlig form, därefter att lägga till en usercontrol, för att det skulle bli lättare att bygga, och kontrollera. Det var i detta läge som det strulade.
Nu gjorde jag en ny, ren usercontroll, och bara kopierade in koderna. Nu får jag ingetfelmedelande. Visserligen ingen icon heller, men jag tror att jag är på rätt väg.Sv: Få en icon i toolbaren ifrån en usercontrol
Här har du troligen ditt fel. Ditt namespace är <b>DrawLine</b> men din kontroll heter <b>UserControl1</b> (iaf om man skall tro din XML kommentar som säger "Summary description for UserControl1.", men du visar inte själva deklarationen av kontrollen utan klippte koden precis på raden ovanför) och när du deklarerar ditt <b>ToolboxBitmap</b> attribute så skickar du med DrawLine, dvs. namnet på ditt <b>namespace</b> och <b>inte</b> namnet på ditt kontroll. Så vad det troligen borde vara är
namespace DrawLine
{
/// <summary>
/// Summary description for UserControl1.
/// </summary>
///
[ToolboxItem(true)]
[ToolboxBitmap(typeof(UserControl1))] // Här har jag ändrat
Sv:Få en icon i toolbaren ifrån en usercontrol
[REDIGERAT]
Nu har även det lyckats.
Jag använde:
<code>
[ToolboxBitmap(@"C:\bilden.bmp")]
</code>
..och då var han snäll med en gång.
Jag får bara hoppas att alla anteckningar som jag nu har gjorts, inte kommer bort.
Tack alla för den fina hjälpen som jag har fått.