Laden...

Forenbeiträge von Maddinel Ingesamt 1.371 Beiträge

16.05.2014 - 13:13 Uhr

Ging problemlos. Danke!
Das Problem war hier einfach nur optischer Natur. Die ID wird auch außerhalb der DB zur Identifikation des Eintrags genutzt und war eine Stelle zu lang.

16.05.2014 - 11:40 Uhr

verwendetes Datenbanksystem: MS SQL Server 2012

Hallo,

eine meiner Anwendungen erzeugt in einer Tabelle regelmäßig neue Einträge wobei jeweils durch Autoincrement eine neue ID erzeugt wird. In der Tabelle sind ca. 2300 Einträge. Die ID lag zuletzt bei 3941 und machte plötzlich einen Sprung auf 13938. Es handelt sich um einen Online-Server und am Code habe ich nichts geändert. Ich weiß zwar nicht was passiert ist, aber wie könnte ich den Wert wieder zurückdrehen z.B. auf 4000 oder so?

16.05.2014 - 11:29 Uhr

Das sieht nicht schlecht aus. Ich habs aber jetzt endlich hin bekommen das Management Studio 2012 zu installieren, das sollte eigentlich erst mal ausreichen.
Danke trotzdem!

15.05.2014 - 20:18 Uhr

Ahhh ... BLIND bin ich! Ja klar in dieser unübersichtlichen Auflistung sollte man das Richtige auswählen. Danke!

09.05.2014 - 17:30 Uhr

Ich hab davon gelesen aber nirgends was zum runterladen gefunden. Ich finde bei Microsoft immer nur das zum 2008er gehörende MMS. Wo bekomme ich das 2012er?

09.05.2014 - 16:22 Uhr

Hi,

ich melde mich seit langer Zeit mal wieder und habe auch gleich ein ziemlich dämliche, aber für mich sehr wichtige Frage:

Mit welchem Tool erstelle und bearbeite ich am besten Datenbanken auf dem SQL Server 2012?

Ich frage deshalb, da ich mich seit längerem nicht mehr wirklich aktiv mit der Materie auseinandergesetzt habe. Ich habe irgendwann mal eine Datenbank auf einem 2005er SQL Server mit dem Management Studio Express entworfen und damals auf einen Online-Server kopiert. Seit dem waren immer nur minimale Änderungen an den Tabelle nötig, die ich problemlos per Management Studio durchführen konnte. Kürzlich musste ich aber auf eine 2012er DB umsteigen und dazu sind wieder Anpassungen nötig. Als ich in den Entwurfsmodus einer Tabelle gehen wollte, bekam ich aber die Meldung, dass das mit dieser MMS-Version nicht möglich sei. Nach etwas Googeln konnte ich aber keinen wirklich Nachfolger finden. Wie nennt sich da das aktuelle Produkt oder ist das inzwischen nur noch zusammen mit dem Visual Studio zu bekommen?

23.02.2013 - 15:01 Uhr

Super danke! Das Projekt von Codeproject klingt prima

22.02.2013 - 18:00 Uhr

Hallo,

ich möchte ein Browser-Control nutzen um darin eine Google-Bildsuche zu starten. Jetzt würde ich gerne eines der Bilder auswählbar machen z.B. durch einen Klick. Das Bild soll dann z.B. in einer DB gespeichert werden o.ä. das ist erst mal zweitrangig. Wie könnte ich sowas am einfachsten umsetzen? Oder gibt es eine deutlich simplere Variante ohne Browser?

04.11.2012 - 12:48 Uhr

Hmm das hab ich schon befürchtet 😉 Ich hab einfach mal gehofft, dass jemand eine Art Faustregen hat.

04.11.2012 - 12:17 Uhr

Hi,
und wenn die Weiterentwicklungsrechte komplett an den käufer gehen?

04.11.2012 - 12:08 Uhr

Hi,
wie ermittelt man prinzipiell den Wert eines Quelltexts, wenn an Stelle der fertigen Software der gesamte QUelltext verkauft werden soll? Was könnte man da als Faustregel zur Berechnung nehmen? Ich benötige überhaupt erstmal einen Grundwert.

15.06.2012 - 00:15 Uhr

@michlG:
Perfekt! So klappts. Ich habs jetzt per Thread umgesetzt und den Backgroundworker komplett rausgeschmissen. Das Problem der Aktualisierung löse ich über ein in die Worker-Klasse eingebautes Event, das ich im Hauptprogramm abonniere. Im Eventhandler Invoke ich die zu verwendeten Elemente des Main-Threads und schwups ... es klappt so wie ich das wollte! Danke noch mal!

@Darth Maim:
Stimmt, ich hatte es zu Anfang auch genau so (ohne zweiten Thread) genau so umgesetzt, da ich auch so dachte. Das Problem ist aber hierbei, dass das Tick-Event selbst zar in einem zweiten Thread läuft, aber der Aufruf des Tick-Events wird trotzdem ausgebremst, wenn das Hauptprogramm beschäftigt ist.

11.06.2012 - 23:41 Uhr

das Problem ist dass deine DoWork Methode lange schon fertig ist bis du das Timer-Tick kriegst und damit dann den Progress festlegen willst

Ja genau. Der BW dient hier quasi nur zum Einstieg in den zweiten Thread. Die Thread-Variante macht wohl wirklich deutlich mehr Sinn. Ich werde mir das mal entsprechend umbauen und mit eigenem Event umsetzen.
Danke!

11.06.2012 - 22:33 Uhr

Bisschen Code zum Verständnis wäre nicht schlecht.

Ok, hier mal zum Verständnis:


class Main
{
  BackgroundWorker worker = new BackgroundWorker();
  Working_Hard wh_ref;

  worker_DoWork()
  {
    Working_Hard wh = new Working_Hard()
    wh_ref = wh;
    wh.starte_timer();
  }

  button1_click()
  {
    worker.RunWorkerAsync();
  }

  button2_click()
  {
    wh_ref.verändere_parameter(parameter);
  }
}

class Working_Hard
{
  MMTimer timer = new MMTimer();

  starte_timer()
  {
    timer.Start();
  }

  timer_Tick()
  {
    //mache was zeitkritisches ...
  }

  verändere_parameter(parameter)
  {
    //Parameter ändern, die im Tick-Event verarbeitet werden ...
  }
}

Das ist es in groben Zügen. Im Hauptprogramm starte ich den Vorgang per button1, der dann im Hintergrund den Timer startet. Der wiederum wird im Hintergrund regelmäßig durchlaufen über das Tick-Event im zweiten Thread. Ich habe auch die Möglichkeit über meine Referenzklasse wh_ref dem Vorgang auch im Nachhinein noch andere Parameter, die z.B. durch den Benutzer eingegeben wurden, zu verändern.

11.06.2012 - 20:43 Uhr

Du meinst ich sollte lieber direkt mit "Thread" arbeiten?

11.06.2012 - 20:15 Uhr

Hi,

ich habe folgende Situation:

In meiner Anwendung lasse ich einen MultimediaTimer laufen um sehr zeitgenau und regelmäßig eine Aktion durchführen zu können (der Standard-Timer war hierfür nicht genau genug). Um die Timerausführung auch bei weiteren Aktionen in der GUI auf keinen Fall zu stören, lagere ich die Erzeugung und das Tick-Event über einen Backgroundworker in einen zweiten Thread aus. Das funktioniert soweit auch so wie gedacht.

Und jetzt zum Problem bei der Sache:

Ich muss die Ausführung des TickEvents in der GUI anzeigen. Gemäß [FAQ] Controls von Thread aktualisieren lassen (Control.Invoke/Dispatcher.Invoke) habe ich mir also gedacht, dass das ProgressChanged-Event des BackgroundWorkers genau das ist was ich suche. Leider klappt das nicht. Da ich im Worker die Klasse nur erzeuge, in der dann der MMTimer gestartet wird, bekomme ich beim Aufruf von ProgressChanged im Tick-Event dann die Meldung "Für diesen Vorgang wurde OperationCompleted bereits aufgerufen. Weitere Aufrufe sind unzulässig."

Wie komme ich aus dieser Misere?

07.06.2012 - 20:32 Uhr

Hallo,

ich habe folgendes Problem. Ich arbeite mit einem BackgroundWorker um darin eine permanent laufende Methode unterzubringen ohne alles zu blockieren. Ich kann dem Worker zwar während des ersten Starts entsprechende Parameter mitgeben, weiß aber nicht wie ich das machen soll während der Worker läuft. Je nach dem was der Benutzer in der GUI so anstellt muss die Methode im Worker teilweise mit anderen Parametern arbeiten. Dazu müsste ich irgendwie dem Worker die Parameter übergeben ohne ihn anzuhalten. Wie stelle ich das am Besten an?

Gruß,
maddinel

31.03.2012 - 16:58 Uhr

Hallo,

ich möchte Daten in einem GridView per SqlDataSource speichern, so dass die Daten direk tim GridView eingegeben werden können. Im Prinzipg klappt das auch bisher problemlos. Mein aktuelles Problem ist jetzt aber, dass ich u.a. auch ein Passwort in das Grid eingegeben werden sol ich ich dies nicht im Klartext in der DB speichern möchte. Wie kann ich es erreichen, dass das eingegebene Passwort vor der Übergabe an den UpdateCommand noch kurz durch meine Verschlüsselungs-Methode gejagt wird?

06.11.2011 - 13:36 Uhr

Hat sich erledigt. Ich hab die bisherige Web.config einfach noch mal gelöscht und die Seite mal ausgeführt, so dass eine neue web.config angelegt wurde. Jetzt klappts wieder.

06.11.2011 - 12:14 Uhr

Hallo,

ich habe mir letztens leider die Web.config meiner Seite zerschossen und musste sie manuell wieder aus Bruchstücken zusammenstückeln. Leider kann ich seit dem keine AJAX-Elemente mehr ausführen. Schon der ScriptManager gibt verursacht einen Fehler:

Das ScriptManager-Element ist kein bekanntes Element. Ursache hierfür kann ein Kompilierungsfehler in der Website oder das Fehlen der Datei "web.config" sein.

Hier der Inhalt meiner Web.config:

<?xml version="1.0"?>
<configuration>
  <system.web>
    <httpRuntime executionTimeout="240" maxRequestLength="30720"/>
    <!--Upload auf 30 MB begrenzt-->
    <sessionState mode="InProc" cookieless="false" timeout="400"/>
    <customErrors mode="Off"/>
    <pages enableEventValidation="false">
      <controls>
        <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
      </controls>
    </pages>
    <!--
          Set compilation debug="true" to insert debugging
          symbols into the compiled page. Because this
          affects performance, set this value to true only
          during development.
    -->
    <!--<compilation debug="true" >
      <assemblies>
        <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
        <add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
      </assemblies>
    </compilation>-->
    <compilation debug="true">
      <assemblies>
        <add assembly="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
        <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
        <add assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        <add assembly="System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        <add assembly="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
        <add assembly="System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        <add assembly="System.Web.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
        <add assembly="System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add assembly="System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        <add assembly="System.Web.ApplicationServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add assembly="System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
        <add assembly="System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        <add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        <add assembly="System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add assembly="System.Data.Services.Client, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        <add assembly="System.Data.Services.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
      </assemblies>
    </compilation>

    
  </system.web>
  
  <system.web.extensions>
    <scripting>
      <webServices>
        
  <!-- Uncomment this line to customize maxJsonLength and add a custom converter -->
  <!--
        -->
  
      <!--<jsonSerialization maxJsonLength="500">
        <converters>
          <add name="ConvertMe" type="Acme.SubAcme.ConvertMeTypeConverter"/>
        </converters>
      </jsonSerialization>-->
      
  <!--
        -->
  <!-- Uncomment this line to enable the authentication service. Include requireSSL="true" if appropriate. -->
  <!--
        -->
  <!--
        <authenticationService enabled="true" requireSSL = "true|false"/>
      -->
  <!--
        -->
  <!-- Uncomment these lines to enable the profile service. To allow profile properties to be retrieved
           and modified in ASP.NET AJAX applications, you need to add each property name to the readAccessProperties and
           writeAccessProperties attributes. -->
  <!--
        -->
  
      <!--<profileService enabled="true"
                      readAccessProperties="propertyname1,propertyname2"
                      writeAccessProperties="propertyname1,propertyname2" />-->
      
  
      </webServices>
      
  
      <!--<scriptResourceHandler enableCompression="true" enableCaching="true" />-->
      
  
    </scripting>
  </system.web.extensions>


</configuration>

Wieso wird der ScriptManager nicht mehr erkannt? Was habe ich vergessen? Oder liegt es möglicherweise nicht an der Web.config?

03.10.2011 - 14:49 Uhr

Hallo,

wie könnte ich den HTML-Quelltext aus dem markierten Text eines WebBrowser-Controls bekommen?

Im WebBrowser-Control soll eine Webseite aufgerufen werden, auf der ich anschließend per Maus einen Text bzw. einen kompletten Bereich markiere. Von diesem Bareich möchte ich den Quelltext bekommen per Button_Click.

Für Tipps und Anregungen wäre ich sehr dankbar.

Gruß,
maddinel

25.09.2011 - 18:04 Uhr

Hallo,

Den FAQ Auszug kenne ich. sorry, ich hatte mich nicht ganz deutlich geäußert. Nein, MediaPlayer ist eine Framework 4 Klasse. Das Tick-Event wird im MainWindow ausgelöst. Der MediaPlayer-Aufruf findet dann aber in einer eigenen Klasse statt. Dort will der Kompiler dann aber ein Invoke für das MediaPlayer-Objekt. Laut FAQ müsste ich ja Object.Invoke aufrufen, aber wenn ich in meiner Klasse bin, was ist dann Object?

25.09.2011 - 17:17 Uhr

Hallo,

Ich arbeite mit dem MultimediaTimer und rufe im Tick-Event eine Methode einer eigenen Klasse, in der ich die Play-Methode eines MediaPlayer-Objekts aufrufe. Dabei bekomme ich eine Invoke-Fehlermeldung beim MediaPlayer-Aufruf. Wie kann ich hier einen Invoke einbauen?

24.07.2011 - 23:06 Uhr

Hmm dann muss ich wohl noch ein wenig suchen und ausprobieren. Ich dank dir erst mal für die Tipps.

24.07.2011 - 13:39 Uhr

Das ist eigentlich gar nicht swo sehr das Problem. Die Methode ist im Prinzip nicht blockierend. Ich hatte den Methodenaufruf eigentlich nur aus Verzweiflung in den BackgroundWorker ausgelagert. Mein Hauptproblem ist eigentlich, dass der Timerdurchlauf durch die Oberflächenbehandlung (scrolling) behindert wird. Wie könnte ich das verbessern?

24.07.2011 - 13:29 Uhr

Ich hab definitiv falsch ausgelagert. Ich gehe so vor (sorry, dass ich keinen realen Code poste, aber das wäre auf die Schnelle zu unübersichtlich):


BackgroundWorker bw;
Timer timer;

private void timer_Tick(...)
{
    bw.RunWorkerAsync();
}

private void bw_DoWork(...)
{
    foreach(MyUserControl myControl in (MyUserControl)StackPanel.Children)
    {
        myControl.DoSomethingWithSound();
    }
}

Mir ist jetzt natürlich auch klar, dass lediglich der einzelne Methodenaufruf meiner UserControls in einem separaten Thread durchgeführt wird, allerdings läuft der Timer an sich ja im MainThread. Genau das ist wahrscheinlich hier auch das Problem. Die Timerausführung kann behindert erden, wenn ich die Oberfläche scrolle. Wie könnte ich aber auch die Timerausführung auslagern?

24.07.2011 - 02:46 Uhr

Hallo,

In meiner WPF-Anwendung habe ich ein UserControl erstellt, in dem u.a. über ein SoundPlayer-Objekt ein Wave-Sound abgespielt werden kann. In meinem speziellen Fall kann es vokommen, dass das das Abspielen des Sounds mehrmals hintereinander initiiert werden muss. Dies geschiet nicht über das Control direkt, sondern über eine Methode, die vom ParentWindow aus aufgerufen wird.

Ich ordne in meinem Layout mehrere dieser UserControls in einem StackPanel an. Der aufruf der Soundabspielenden Methode geschiet im MainWindow bereits über einen BackgroundWorker, damit mir verarbeitungstechnisch nicht dazwischen kommt. Das funktioniert an sich auch wunderbar. Wenn ich jetzt aber mein Fenster bzw. im StackPanel scrollen muss (über einen ScrollViewer), dann wird das eigentlich ja in den BackgroundWorker ausgelagerte Soundabspielen unterbrochen. Nach dem Scrollen geht es aber wieder direkt weiter.

Wie kann ich die Verarbeitung der Oberfläche von der restlichen Codeausführung so trennen, dass keine Unterbrechungen entstehen?

21.06.2011 - 14:21 Uhr

@UZI:
Habe ich fast befürchtet, dass ich alles durchlaufen mus 😦 Dann bin ich mir leider nicht mehr sicher, ob ich das wirklich umsetzen sollte.

@winSharp93:
Coole Idee - schaaade, dass es nicht mehr so zu sein scheint, hätte ich gerne mal getestet.

20.06.2011 - 13:02 Uhr

Hallo,

ich hätte mal eine etwas speziellere Frage.

Ich führe in einer WPF-Anwednung regelmäßig Aktualierungen durch und möchte diese nicht durchführen, wenn die Anwednung von einem anderen Programm überdeckt wird. Allein die Prüfung, ob die Anwendung den Fokus hat, genügt leider nicht.

Beispiel1:
Die Software liegt auf dem zweiten Bildschirm, hat keinen Fokus (ist aber sichtbar), da auf dem ersten Bildschirm in einem anderen Programm gearbeitet. Hier sollen Aktualisierungen auf dem zweiten Bildschirm stattfinden.

Beispiel2:
Das Gleiche wie in Beispiel1, nur dass das Programm auf dem zweiten Bildschirm von z.B. einem Browser überdeckt wird. Hierbei sollen diesmal keine Aktualisierungen stattfinden, weil das Programm nicht sichtbar ist.

Wie könnten man überprüfen, ob die Anwendung durch ein anderes Fesnter überdeckt wird?

18.06.2011 - 01:08 Uhr

Das Wiederholen bezieht sich im Windows MediaPlayer wohl nur auf die Playlist und nicht auf einzelne Titel. Ich hab aber gerade gesehen, dass es ein Event "MediaEnded" gibt, welches nach Beendigung des aktuellen Titels aufgerufen wird. Darüber sollte sich was machen lassen.

18.06.2011 - 00:33 Uhr

Hallo,

der Windows MediaPlayer bietet die Möglichkeit eine Audiodatei in einer Endlosschleife abzuspielen. Wie kann ich das im Quelltext-Gegenstück Media.MediaPlayer festlegen? Ich hab mir die MSDN-Dokumentation zur MediaPlayer-Klasse schon angesehen, aber leider habe ich darin nichts dazu gefunden.

Gruß,
maddinel

14.06.2011 - 15:17 Uhr

Perfekt - danke!

14.06.2011 - 14:56 Uhr

Hallo,

ich hab schon im Internet gesucht, aber keine Lösung gefunden.

Ich erstelle in C#-Code ein FixedDocument (für Ausdruck) und erstelle das Dokument dynamisch in einer Methode. Ich muss dem Dokument mehrere TextBlocks hinzufügen und benötige dazu auch "fetten" Text. Wie bekomme ich es hin dem TextBlock die FontWeight = "Bold" zuzuweisen?

11.06.2011 - 15:30 Uhr

Hallo,

ich versuche aktuell den Multimedia Timer von Leslie Sanford (Multimedia Timer bei codeproject.com) in eine WPF-Anwendung einzubinden. Prinzipiell kein Problem, nur wenn ich aus dem Tick-Event vesuche auf ein Control zuzugreifen, dann bekomme ich den Fehler > Fehlermeldung:

Der aufrufende Thread kann nicht auf dieses Objekt zugreifen, da sich das Objekt im Besitz eines anderen Threads befindet. was aber auch logisch ist, da der MMTimer mit Threads arbeitet. Nach dem Windows-Forms-Beispiel sollte man also folgendes tun:

mmTimer.SynchronizingObject = this;

Leider klappt das in WPF so nicht. Ich bekomme folgende Fehlermeldung beim Kompilieren:> Fehlermeldung:

Der Typ "WndMain" kann nicht implizit in "System.ComponentModel.ISynchronizeInvoke" konvertiert werden. Es ist bereits eine explizite Konvertierung vorhanden. (Möglicherweise fehlt eine Umwandlung.)

Wie kann ich mein Hauptfenster irgendwie mit dem ISynchronizeInvoke in Einklang bringen?

09.06.2011 - 00:49 Uhr

Da hast du aber nicht in die Bitte schau in die SDK-/MSDN-Doku geschaut.

Zitat von MediaPlayer Class (System.Windows.Media):
When distributing media with your application, you cannot use a media file as a project resource. In your project file, you must instead set the media type to Content and set CopyToOutputDirectory to PreserveNewest or Always.

Oh ok, ist angepasst. Media Player 11 ist auch installiert. Trotzdem kein Sound. HasAudio ist immer false.

08.06.2011 - 23:55 Uhr

Hallo,

ich versuche eine MP3-Datei mit dem System.Windows.Media.MediaPlayer-Element abzuspielen, aber bekomme es einfach nicht hin. Das ist ja eigentlich total simpel, aber es kommt einfach kein Sound aus den Lautsprechern (jaa, sie sind eingeschaltet 😉 ).

Ich habe folgenden Code:

MediaPlayer media_player;

public WndMain()
{
            InitializeComponent();

            this.media_player = new MediaPlayer();
            this.media_player.Open(new Uri(@"HiHat.mp3", UriKind.Relative));

}

private void btnPlay_Click(object sender, RoutedEventArgs e)
{           
            this.media_player.Play();
}

Die Datei ist direkt und ohne Unterordner in das Projekt eingebunden und die Buildaction steht auf "Resource".

Ich kompiliere die Anwendung, klicke auf Play und nichts passiert. Was mache ich falsch?

07.06.2011 - 01:49 Uhr

Prima, ich dank dir.
Für meinen speziellen Fall genügt sogar schon das UserControl im gleichen Projekt.

06.06.2011 - 23:34 Uhr

Ok, ich hab Visual C# 2010 Express jetzt noch mal auf einem zweiten PC testweise installiert und ich hab auf dem PC nachgesehen, bei dem ich dachte, dass dort das UserControl-Template vorhanden ist. Jedes mal war doch kein Template für ein UserControl-Projekt vorhanden. Was das angeht, hatte ich mich wohl doch geirrt. Die Express-Version hat dieses Template nicht.

ABER ... Es gibt doch einen simplen Weg:

Wenn, so wie in meinem Fall, das UserControl im gleichen Projekt verwendet werden soll, dann klickt man einfach mit der rechten Maustaste auf das Projekt in der Projektmappe und anschließend auf "Hinzufügen" > "Benutzersteuelement". Danach öffnet sich ein Dialog, in dem sich problemlos ein Windows.Forms-Usercontrol oder eben ein WPF-Usercontrol hinzufügen lässt. Das Control ist somit dem Projekt direkt hinzugefügt und steht nicht als separate dll zur Verfügung. Nach dem Erstellen des Projekts steht das eigene Usercontrol auch direkt und ohne separates Hinzufügen in der ToolBox zur Verfügung.

04.06.2011 - 18:22 Uhr

Das hab ich ausprobiert, aber ich bekomme immer die Meldung:

"Der Befehl xy ist entweder falsch geschrieben oder konnte nicht gefunden werden."

Ich habe ausprobiert:
*devenv *devenv /setup *devenv.exe *devenv.exe /setup

[edit]
Ja ok, setup ist Käse, aber auch devenv wird schon nicht gefunden.

04.06.2011 - 18:11 Uhr

Hallo,

@Homaa
Auf einem anderen PC habe ich Das 2010 Express installierft und das entsprechende Template drin. Daher denke ich, dass es mit installiert wird.

@talla
Ich habe schon gesucht und ausprobiert, aber leider hab ich nix brauchbares gefunden. Wie und wo soll ich devenv denn starten?

04.06.2011 - 01:52 Uhr

Hallo,

ich habe auf einem zweiten Rechner gerade Visaul C# 2010 Express runtergeladen und installiert. Leider fehlt mir hier jetzt das Projekttemplate für WPF-Steuerelemente. Wie kann ich dies nachinstallieren?

Gruß,
maddinel

02.06.2011 - 12:48 Uhr

Hallo,

ich hätte mal wieder eine bzw. zwei kleine Fragen:

Ich möchte in einer WPF-Anwendung zwei Conrols (z.B. Buttons) miteinander optisch verbinden. Da die beiden Controls auf dem Grid bewegbar sein sollen, müsste sich die Verbindungslinie dynamisch anpassen. Auf welche Art und Weise könnte man am einfachsten eine solche Verbindungslinie schaffen?

Zusätzlich wäre es auch sehr nützlich die jeweilige Länge der Verbindungslinie abfragen zu können. Das ist aber erstmal zweitrangig.

Ich bitte euch um jede Idee, da ich momentan noch ohne jede Inspiration bin 😃

Gruß,
maddinel

01.06.2011 - 15:21 Uhr

Wow tatsächlich! Ich dank dir 😄

01.06.2011 - 15:15 Uhr

verwendetes Datenbanksystem: SQL-Server 2008 Express

Prinzipiell kann es ja immer mal vorkommen, dass ich bei einer SqlConnection ein timeout bekomme. Um den Aufbau der Connection habe ich einen try/catch Block gebaut und der Fehler wird in einer Exception übergeben. Wie finde ich jetzt aber heraus, ob der Fehler durch einen timeout ausgelöst wurde?

01.06.2011 - 13:34 Uhr

Hi,

also nur noch kurz Komplettierung:

string errorlog_path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "Einkaufs-Planung-Errorlog");

Das Problem hat sich aber gerade in Luft ausgelöst. Ich habe bemerkt, dass ich den Ordner problemlos anlegen kann und der Fehler erst danach auftritt beim Versuch eine Datei zu erzeugen. Das aber auch nur, weil ich ein File.Create() mit Übergabe des Ordnerpfades ohne Dateinahmen versucht habe 8o 🤔

Sorry sorry sorry. Das Schreiben in SpecialFolder.LocalApplicationData klappt jetzt auch problemlos und ohne Adminrechte.

01.06.2011 - 12:33 Uhr

[Vista / Win7]

Hallo,

ich komme einfach nicht weiter. Esmuss doch irgendwie möglich sein in dem dafür vorgesehenen Ordner SpecialFolder.LocalApplicationData eine Datei abzulegen bzw. dort anzulegen. Ich erzeuge dort einen eigenen Ordner und setze die Berechtigung des Verzeichnisses auf vollen Zugriff. Trotzdem darf ich in meinem eigenen Ordner anschließend keine Datei anlegen und bekommen eine Exception wegen fehlender Zugriffsrechte. Ich habe hier im Forum schon eine scheinbare Lösung mit einer Manifestdatei gefunden, die der Anwendung generelle Adminrechte verschafft, aber ich kann mich damit irgendwie nicht anfreunden. Ich muss doch zumindest in die SpecialFolder.LocalApplicationData, die ja nur mein eigenes Profil betreffen schreiben können, oder nicht?

Mein Code:

//Pfad anlegen
                    Directory.CreateDirectory(errorlog_path);
                    
                    // Create a new DirectoryInfo object.
                    DirectoryInfo dInfo = new DirectoryInfo(errorlog_path);

                    // Get a DirectorySecurity object that represents the 
                    // current security settings.
                    DirectorySecurity dSecurity = dInfo.GetAccessControl();

                    // Add the FileSystemAccessRule to the security settings. 
                    string account = string.Format(@"{0}\{1}", Environment.UserDomainName, Environment.UserName);
                    FileSystemRights rights = FileSystemRights.FullControl;
                    AccessControlType control_type = AccessControlType.Allow;
                    dSecurity.AddAccessRule(new FileSystemAccessRule(account, rights, control_type));

                    // Set the new access settings.
                    dInfo.SetAccessControl(dSecurity);
18.05.2011 - 15:49 Uhr

Ja stimmt schon - so kann mans auch machen, aber man muss doch die Standard-Columns solchen minimalen Änderungen Unterziehen können ohne gleich was eigenes bauen zu müssen.

18.05.2011 - 15:02 Uhr

Hallo,

ich habe mir ein DataGird zusammengestellt und versuche mit einem CellStyle eine Spalte ein wenig anzupassen:

<DataGridTextColumn.CellStyle>
                        <Style TargetType="DataGridCell">
                            <Setter Property="HorizontalContentAlignment" Value="Right"></Setter>
                        </Style>
                    </DataGridTextColumn.CellStyle>

Leider bleibt mein Text weiterhin linksbündig. Verwende ich statt "HorizontalContentAlignment" aber "HorizontalAlignment", dann ist mein Text tatsächlich rechtsbündig. Nur leider sieht dann die Selection der Zeile etwas komisch aus (siehe Bild):

17.05.2011 - 11:13 Uhr

Ich dank dir!

Die Idee war genau die richtige - die Umsetzung hatte so leider noch nicht direkt funktioniert.
Hier aber der Code, der bei funktioniert hat:

System.Windows.FrameworkElement.LanguageProperty.OverrideMetadata(
                typeof(System.Windows.FrameworkElement),
                new System.Windows.FrameworkPropertyMetadata(
                    System.Windows.Markup.XmlLanguage.GetLanguage(System.Globalization.CultureInfo.CurrentCulture.IetfLanguageTag)));