Hi
Suchst du sowas hier ..
Wenn du die Bilder einfach in einem Ordner hast:
System.IO.Stream st;
System.Reflection.Assembly a = System.Reflection.Assembly.GetExecutingAssembly();
st = a.GetManifestResourceStream("ProjektName.OrdnerMame.Bild.bmp");
Bitmap bild = new Bitmap(st);
ImageList list = new ImageList();
list.Images.Add(bild);
mfg
Martin
Hi,
ich versuche den Wechsel einer Auswahl in einer ComboBox mitzubekommen.
aber nicht erst, wenn ich es bestätigt habe sondern schon wenn ich die combobox öffne und mit der maus auf ein item zeige sodass es markiert wird.
ich würde eben gerne auslesen was ich gerade markiere während die combobox noch offen ist.
hat jemand irgendwelche ideen ?
mfg
Martin
Hi,
wie druckst du bzw. mit welchem Aufruf ?
mfg
Martin
Habe es hin bekommen.
MappedFile mit Serialisieren und CopyMemory.
Bei Interesse Mail an mich.
Ich möchte es noch nicht posten da es noch sub-optimal ist.
Das Serialisieren dauert noch ein wenig lange.
Und ich versuche das zu umgehen.
[edited]: Serialisierung umgangen mit reinem MemoryStream
mfg
Martin
Hallo,
ich versuche gerade zwischen 2 Prozessen zu kommunizieren und da das
besonders schnell gehen muss versuche ich es gerade mit MemoryMappedFile.
Leider klappt das nicht so ohne weiteres.
Mein erster Prozess legt eine MMF an und mapped diese erfolgreich.
Nun möchte ich ein Bitmap austauschen. Dazu erstelle ich ein Grahics Object
vom Bitmap und schreibe den Pointer rein.
IntPtr mappedViewHandle = MapViewOfFile(mmfHandle, (uint)FILE_MAP_WRITE, 0,
0, 0);
Marshal.WriteIntPtr(mappedViewHandle, gfxScreenshot.GetHdc());
Das ganze scheint auch so zu klappen.
Mein zweiter Prozess liest nun die MMF und mapped sie.
Das scheint auch zu klappen.
IntPtr mappedFileHandle = OpenFileMapping((int)FileAccess.ReadWrite, false,
"MMF");
IntPtr mappedViewHandle = MapViewOfFile(mappedFileHandle,
(uint)FILE_MAP_READ, 0, 0, 0);
IntPtr bmpHandle = Marshal.ReadIntPtr(mappedViewHandle);
nun versuche ich mit diesem Handle das Bitmap wieder herzustellen
gfxScreenshot = Graphics.FromHdc(bmpHandle );
Nur das klappt nicht.
Ich bekomme die Exception "Nicht genügend Arbeitsspeicher".
Ich weiß leider nicht warum.
Evt. funktioniert schon mein schreiben nicht.
Weiter unten mal meine Funktionen.
danke im vorraus
Martin
Das Schreiben in die MMF:
public IntPtr CreateMMF(string fileName, FileAccess access, int size)
{
if (size < 0)
throw new ArgumentException("The size parameter should be a number greater
than Zero.");
IntPtr memoryFileHandle = CreateFileMapping(0xFFFFFFFF, IntPtr.Zero,
(uint)access, 0, (uint)size, fileName);
if (memoryFileHandle == IntPtr.Zero)
throw new Exception("Creating Shared Memory failed.");
return memoryFileHandle;
}
private void SendToMMF()
{
IntPtr mappedViewHandle = MapViewOfFile(mmfHandle, (uint)FILE_MAP_WRITE, 0,
0, 0);
if (mappedViewHandle == IntPtr.Zero)
throw new Exception("Creating a view of Shared Memory failed.");
Marshal.WriteIntPtr(mappedViewHandle, gfxScreenshot.GetHdc());
UnmapViewOfFile(mappedViewHandle);
CloseHandle((uint)mappedViewHandle);
}
Und das Lesen:
public IntPtr ReadHandle()
{
IntPtr mappedFileHandle = OpenFileMapping((int)FileAccess.ReadWrite, false,
"MMF");
if (mappedFileHandle == IntPtr.Zero)
throw new Exception("Opening the Shared Memory for Read failed.");
IntPtr mappedViewHandle = MapViewOfFile(mappedFileHandle,
(uint)FILE_MAP_READ, 0, 0, 0);
if (mappedViewHandle == IntPtr.Zero)
throw new Exception("Creating a view of Shared Memory failed.");
IntPtr windowHandle = Marshal.ReadIntPtr(mappedViewHandle);
if (windowHandle == IntPtr.Zero)
throw new ArgumentException("Reading from the specified address in Shared
Memory failed.");
UnmapViewOfFile(mappedViewHandle);
CloseHandle((uint)mappedFileHandle);
return windowHandle;
}
private Bitmap CreatePicture(IntPtr picPointer)
{
Bitmap bmpScreenshot;
Graphics gfxScreenshot;
// Create a graphics object from the picPointer
gfxScreenshot = Graphics.FromHdc(picPointer);
// Get the bitmap object
bmpScreenshot = new Bitmap(Screen.PrimaryScreen.Bounds.Width,
Screen.PrimaryScreen.Bounds.Height, gfxScreenshot);
return bmpScreenshot;
}
jap ... nur der SplitContainer besitzt SplitterWidth
mfg
Martin
Okay ..
also selbst kenne ich das UseWaitCursor beim CompactFramework nicht.
Falls es das geben sollte, brauchst du auf jeden Fall das CompactFramework 2.0.
Hast du das installiert ? evt. nochmal installieren.
Ursprünglich müßte Windows CE mit dem 1.0 CompactFramework arbeiten.
Das CF 2.0 muss nachinstalliert werden.
(Glaube ich)
mfg
Martin
Hi,
nicht ganz so schön:
http://support.microsoft.com/kb/319946
ist halt blöd das du erstens die Liste vorher sortieren solltest und zweitens - keine box mit den restlichen möglichkeiten erscheint.
bzw, wenn du aufklappst bleiben alle drin und es wird nur einer markiert.
aber das sollte schon irgendwie gehen.
ist zumindest ein anfang.
wäre cool wenn du, falls du es weiterentwicklest, postest.
ich weiß nicht ob ich dazu komme.
mfg
Martin
Ok, das klingt auch gut 🙂
Aber wenn eine Datenbank als Source dient und es zu einer Änderung kommt - und damit zu einem Update oder Insert ..
gibt es dann nicht ein Problem wenn da keine Zelle ist ?
Ok wenn nichts darunter hängt, geht es ja.
mfg
Martin
gaz blöd würde ich sagen ..
installier mal die VS2005 Express und schau ob du damit drauf kommst.
Aber ich befürchte das das auch nicht klappt.
Was für SQL Dienste laufen denn ?
Blockt ne Firewall den Port ? Ist überhaupt eine Firewall an ?
Hast du mal probiert eine Verbindung ohne Designer herzustellen ?
Das würde ich glaub ich mal probieren.
Mal eine SQLConnection bauen und verbinden.
Evt geht der Designer blos aus irgendeinem Grund nicht.
Oder du bekommst ne Exception mit man was anfangen kann.
mfg
Martin
Hi,
Ich brauche mehr Input 🙂
zu 1:
Von welchem Typ sind deine Spalten ?
Eine für Datum und eine für die Zeit ?
Evt. ein Bsp.
Spalte 1 Spalte2
....... ........
zu 2:
Spalte1 Spalte2
a b
b c
d e
und du willst dann was raus bekommen ?
mfg
Martin
Hi,
Was bekommst du nicht angezeigt und wo ?
Bei Dataconnection -> Add DataConnection bekommst du das Fenster "Typ wählen" dann die Verbindung.
Du gehst auf neue Verbindung -> Datenquelle wählen "sql server"
und dann bekommst du bei Servername bzw bei der Auswahl nichts angezeigt.
Hab ich das bis hierhin richtig verstanden ?
Eine Instanz vom SQL Server läuft aber oder ?
Sprich die SQL Server Dienste usw.
Du kommst mit dem ManagementStudio drauf ?
Und die Protokolle sind auch aktiviert ?
mfg
Martin
hi,
Schmeiß den Logger raus und dann siehst du ob es daran liegt. 🙂
Aber eigentlich nicht wenn deine angegebene Reihenfolge stimmt.
Erst werden die Befehle geschickt, dann geloggt.
Und was heißt "reagiert verzögert".
Kommt eine Rückantwort verzögert oder macht das Gerät auf den Befehl hin etwas verzögert ?
Könntest du das nochmal erklären was du damit meinst :
"(Das Ganze Befehlschicken wird mittels Keydown & up realisiert) "
Wie schickst du deine Befehle los, was für Befehle und wann ?
Evt. Code 🙂 ?
Und bekommst du Antworten vom Gerät ?
mfg
Martin
Hi,
Was willst du damit erreichen das die Zelle ausgeblendet wird.
Was soll an dieser Stelle denn sonst stehen oder gezeichnet sein ?
So ganz verstehe ich den Nutzen nicht.
Soll der User blos den Inhalt nicht sehen und ändern dürfen ?
Und soll ein weißes Feld an der Stelle sein ?
Angenommen dem User soll der Inhalt dieser Zelle verborgen sein unabhängig von Spalte und Zeile dann würde ich 3 Sachen machen ..
mfg
Martin
Hi,
mal ne Hardcorefrage.
Ich möchte/will/muss eine Prozess-Prozess Kommunikation aufbauen.
Ein Prozess macht irgendwas.
Prozess sendet nun Daten an 4 Prozesse.
Von diesen 4 Prozessen bekommt er Daten zurück.
Wie kann man das realisieren ?
Ich kann keine Threads verwenden - es müssen Prozesse sein.
Zu den 4 Prozessen geht eine Bilddatei.
Zurück kommen Werte - strings, doubles, ints.
Die verwertet er dann.
Ich habe was über Windows API und WM_COPYDATA gelesen und über MailSlots.
Oder doch Remoting ?
Welche Kommunikation geht am schnellsten ?
mfg
Martin
Hi,
also ich habe das mal nachgebaut und bei mir funktioniert alles.
Also ein Dataset im Designer erstellen mit einer Datatable.
meine Bindingsource hat als Datasource mein dataSet1
damit entsteht dataTable1BindingSource
mein Datagridview hat als Datasource das dataTable1BindingSource
und ein bindingnavigator hat als datasource dataTable1BindingSource.
fertig - geht
Ich tippe auf ein falsches binding.
Oder hast du ein dynamisches dataset oder ein festes ?
mfg
Martin
Naja okay.
Also ich kann es nicht so ganz nachvoll ziehen.
Habe gerade mal ein dgv erstellt mit einigen unsichtbaren spalten.
per button den displayindex gespeichert, alles umsortiert und auf einen anderen button wieder hergestellt und es komm immer das gespeicherte aussehen wieder.
nur das die unsichtbaren spalten wandern. aber die sind eben nicht sichtbar beim drag/dropppen - also verständlich.
Keine Ahnung wie da die Regel ist wonach er die unsichtbaren hinsortiert.
Aber wozu ist der DisplayIndex der unsichtbaren Spalten wichtig ?
Oder kann man die ein/ausblenden ?
aber das der displayindex weit hinten ist obwohl sie in der mitte sichtbar sind konnte ich noch nicht beobachten.
Aber das viele unsichbare davor stehen kann nicht sein oder ?
(blöd gefragt)
mfg
Martin
Evt das hier ..
//Anzeigereihenfolge
//Dabei mußt du aber alle Columns durchgehen
dgv_dataGridView1.Columns[0].DisplayIndex
//Noch ein Tipp damits korrekt wird
//Sortierung - welche Spalte und absteigend oder aufsteigend
DataGridViewColumn col = dataGridView1.SortedColumn;
System.Windows.Forms.SortOrder order = dataGridView1.SortOrder;
Den Displayindex fragst du jedes mal ab wenn der User was verschoben hat oder so und speicherst es dir weg.
mfg
Martin
Hallo,
Ich habe schon ein wenig mit WebRequest herumgespielt und komme auch ganz gut klar.
Aber kann man sich auch auf Seiten einloggen ?
Foren etc.
Ich suche eine Möglichkeit mich bei dooyoo.de einzuloggen mit meinem Account.
Geht das irgendwie ?
mfg
Martin
hat sich erledigt.
DropDown zu DropDownList Eigenschaft ändern.
Hallo,
ich habe eine ComboBox erstellt mit einem DataSet als DataSource.
Wie kann ich die ComboBox vor manueller Eingabe schützen?
Vergleichbar mit der ReadOnly Eigenschaften bei TextBoxen.
Wie Auswahl soll noch funktionieren aber ich möchte keine Tastatureingaben zulassen sodass der Test geändert werden kann.
danke im vorraus
Martin
P.S. ich nutze Visual Studio 2005, C#
Lösung siehe Code:
<
string assembly = "...";
Assembly ass = Assembly.LoadFrom(assembly);
Stream st =
ass.GetManifestResourceStream("Testcontrol.Resources.Winter.jpg");
Image image = Image.FromStream(st);
>
-Testcontrol ist der namespace.
-resources der Ordner in dem das Image liegt
-Winter.jpg der name des Bildes.
Man muß nur beachten das man in der Assembly die man erstellt immer einen Ordner Resources hat in dem das Bild rein kommt.
Und das das Bild im "Buildvorgang" als "eingebettete Ressource" deklariert wird.
Dann kann man die Sache auch so unabhängig von Dateinamen etc machen.
Das sollte ja mein Zeil sein.
danke und Grüße
Hallo,
ich habe ein UserControl geschrieben.
Dieses Control möchte ich in einer anderen Anwendung verwenden.
Nun würde ich gerne ein Bild in die Assembly mit rein packen das ich dann in der anderen Anwendung auslesen kann. Quasi als Icon dann später nutzen.
Wie stelle ich das an ?
Ich binde die Assembly dynamisch ein per Assembly.LoadFrom ..
und Assembly.CreateInstance( .... )
Damit erzeuge ich mir das Control.
Aber wie komme ich an das Bild ?
danke im vorraus
Martin
Hallo,
ich habe eine Anwendung für einen PDA geschrieben.
Nun möchte ich abfragen ob eine Speicherkarte eingelegt ist.
Ich könnte zwar nach einem Ordner "Speicherkarte" suchen (funktioniert auch) aber gibt es da evt. etwas besseres ?
Evt. sogar ein Event aus der coredll oder so ?
Ich schätze bei der Ordner "Speicherkarte" wird sich ändern von engl. zu deutschen Versionen. Dann noch ob es Windows Mobile oder PocketPC ist usw.
Hat jemanden einen Tipp wie man das noch abfragen kann ?
danke im vorraus !
hat sich erledigt.
ich habe ein event an das binding objekt der Textbox angehängt.
.Parse
und in der aufgerufenen Methode überprüfe ich den aktuellen wert.
Hallo,
ich erstelle gerade ein Windows Mobile Anwendung in Visual Studio 2005.
Ich habe ein Dataset und eine Textbox.
Den Text der Textbox habe ich an eine Spalte des Ds bzw der DataTable gebunden die einen INT Wert erwartet.
Gebe ich nun einen Buchstaben in die Textbox ein kann ich die Textbox nicht mehr verlassen.
Im Debug Modus bekomme ich in der Ausgabe eine FormatException in mscorlib.dll.
Kann ich diese Exception irgendwie abfangen ?
Ich habe ja keine Methode in der ich eine Zeile hinzufüge und es mit try catch lösen könnte.
Der Wert wird ja bei "onPropertyChanged" in das Dataset geschrieben.
Wie kann ich diese Exception abfangen ?
danke im vorraus
Hi,
du hast das Dataset gelöscht und dann neu angelegt und gefüllt.
soweit so gut.
Und nach dem Löschen ist die zuordnung des Tableadapter weg.
Deswegen geht es nur beim Start aber nach dem löschen usw nicht mehr.
TODO nach dem Löschen:
Warum nimmst du nicht deine combobox und machst folgendes.
//Der Verweis auf die Datatable
//Tables[0] - ich gehe davon aus das nur eine Tabelle drin steht.
combobox1.DataSource = DataSet.Tables[0];
//Der Verweiss auf die Spalte - was er eben anzeigen soll
//Das ist der Punkt das er nicht das Objekt als DataRowView interpretiert
combobox1.DataMember = "{dein Spaltenname in der DataTable als String}";
und das wars auch schon !
mfg Martin
Das Problem war das noch nichts in dem Databinding stand.
Er liest erst bevor er schreibt.
Ich schätze <DBNull> konnte er nicht lesen.
Ich füge jetzt am Anfang eine typisierte Datarow hinzu.
dataset1.datatable1.AddDataTable1Row(dataset1.datatable1.NewDataTable1Row())
Und beim Clear des Datasets anschließend auch.
Ich weiß das dies nicht die schönste Lösung ist und es höchst wahrscheinlich auch anders geht aber naja.
Die DataTable Columns sind teilweise bool, teilweise int, teilweise string werte und da kann ich bei Einigen bei nullValue leider kein empty angeben.
Zumindest funktioniert es so.
Evt. finde ich oder Ihr noch eine bessere Lösung!
Hallo,
ich nutze Visual Studio 2005 und möchte folgendes machen.
Ich habe ein Dataset mit einer Tabelle erstellt.
Nun habe ich eine Textbox die ich per Databinding an eine Spalte der Tabelle binde.
Jetzt sollte sich doch bei Textänderung der Textbox das Dataset bzw die Tabelle füllen oder ?
Oder habe ich etwas vergessen.
Denn wenn ich eine XML Datei aus dem Dataset erstelle ist diese leer.
Was habe ich vergessen oder was mache ich falsch!
danke im vorraus !