Archiv nach Kategorien: C#

Pfad der ausgeführten Datei herausfinden

Hier mal wieder ein kleiner Tipp am Rande.

Um den Pfad der gerade ausgeführeten Executable herauszufinden gibt es folgende Methoden:

In einer WinForms Anwendung

string Path = Application.StartupPath()

In einer Consolen Anwendung

string Path = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);

Freies Ribbon Control für .Net

Auf der Suche nach einer Office2007 ähnlichen Ribbon-Bar, bin ich auf viele kommerzielle Anbieter gestoßen, und zum Teil auch auf OpenSource Projekte, welche jedoch nicht ganz ausgereift waren.
Die bisher beste Lösung ist die Implementierung von Jose Manuel Menéndez Poó, der seine Ribbon-Bar auf der CodeProject Webseite zur freien Verfügung stellt. Sie hat zwar zur Design-Time noch einige Problemchen, ist aber für meine (und ich denke auch von den meisten) Zwecken völlig ausreichend und leicht einzusetzen.

Ich mag kein newid()

Wer kennt nicht das Problem mit dem Primary Key, Dataset und der NoNullAllowedException?
Ich habe mir die Finger wund gegoogelt um eine “einfache” Lösung des Problems zu finden, und bin über folgenden kleinen Codefetzen gestoßen, welchen man nur in seinem Dataset einpflegen muß (Rechtsklick auf das Dataset (XSD) im Designer und “View Code” auswählen.

        private bool CreateDefaultGuids = false;
        public void CtreateDefaultGuids()
        {
            if (CreateDefaultGuids) return;
            CreateDefaultGuids = true;
            foreach (DataTable dt in this.Tables)
            {
                if (dt.Columns[0] != null)
                {
                    dt.TableNewRow += new DataTableNewRowEventHandler(TableNewRowStudy);
                }
            }
        }
        private void TableNewRowStudy(object sender, DataTableNewRowEventArgs e)
        {
            if (e.Row[0] is DBNull)
                e.Row[0] = Guid.NewGuid();
        }

Jetzt muß dies im _Load Event deiner Form einmalig CtreateDefaultGuids() aufgerufen werden, und schon ist Schluß mit der NoNullAllowed Exception.