Laden...
D
Druid myCSharp.de - Member
Schüler Essen Dabei seit 08.10.2005 155 Beiträge
Benutzerbeschreibung

Forenbeiträge von Druid Ingesamt 155 Beiträge

12.11.2005 - 22:08 Uhr

Wenn die Muttersprache VB ist und C# nur Zweitsprache, dann passieren solche Sachen schon mal.

12.11.2005 - 20:57 Uhr
this.BindingContext.Item(MyDataSource).CancelCurrentEdit()

muss es natürlich sein... 🙂

12.11.2005 - 20:56 Uhr

Es geht ganz einfach:

Me.BindingContext.Item(MyDataSource).CancelCurrentEdit()
12.11.2005 - 00:44 Uhr

Ne funktioniert nicht.

11.11.2005 - 13:42 Uhr

Hallo!

Ich habe ein Formular mit mehreren gebundenen Steuerelementen. Jetzt kriege ich über die BindingManagerBase (bzw. BindingContext) des Formulars ein DataRowView. Jetzt führe ich RejectChanges aus, es werden aber nicht die Steuerelement aktualisiert. Was kann man da machen?

10.11.2005 - 18:50 Uhr

Original von norman_timo
Hallo Druid!

Ein DISTINCT schmeisst doch identische Resultate raus, bzw. übernimmt diese erst gar nicht, oder bin ich da verkehrt?

Dann würde nämlich ein DISTINCT, im Zusammenhang mit COUNT immer 1 oder 0 liefern, was ja beim Zählen ja nicht erwünscht wäre.

Ciao
Norman-Timo

Aha, und was macht dann der Group By? na klar der ist für Aggregratfunktionen aber auch um andere rauszuschmeissen, oder liege ich da total falsch?

10.11.2005 - 12:28 Uhr

Vielleicht DISTINCT nehmen? Ist vielleicht ein kleines bisschen schneller...

10.11.2005 - 12:26 Uhr

Ganz einfach:

In der 4.1 Version von MySQL gibts kein Currency mehr. Du musst die Currency in Decimal umwandeln.

Gruß Christian

10.11.2005 - 12:25 Uhr

So gehts natürlich am einfachsten....

09.11.2005 - 23:50 Uhr

Sorry, nur mal so nebenbei:

Kann der Nutzer den username eingeben?

Ich würde folgendes als Nutzername eingeben:

'; Delete * From accountbalance; Select * From accountbalance where user = '

Und swupps ist die Tabelle weg.
Möglich wäre auch:

' or 1=1 or user='

Verwende bitte Parameter.

-> Zu deinem Problem. Ich denke du musst die Currency in Decimal casten...

09.11.2005 - 23:39 Uhr

Du machst das mit einem Right bzw. Left Join der Primärschlüssel.

09.11.2005 - 23:38 Uhr

Keyword:
Stream -> MemoryStream

Zu Deutsch:
Lese das Image in einen MemoryStream ein. Dann kannst du diesen Stream in die Datenbank schreiben.

09.11.2005 - 23:20 Uhr

Original von norman_timo
Vorsicht! Hier kann ein so genanntes SQL-Injection Problem auftreten, denn wenn der Benutzer hier SQL-Code eingibt, so wird er ohne vorige überprüfung ausgeführt, und der Benutzer sollte so etwas nicht können 😉

Deshalb solltest Du vorher eine Überprüfung des Textes in der Textbox machen.

Oder Parameter verwenden, bzw am besten sind Stored Procedures mit Parameterübergabe. Das ist ziemlich uncrackbar.

-->>



//requires a OleDbConnection object cn.

private OleDBCommand Com = new OleDBCommand("mysproc", cn);

private void ButtonHandler(object sender, System.EventArgs e){
//Muss nur einmal gesetzt werden.
Com.CommandType = CommandType.StoredProcedure;
Com.Parameters.Add(new OleDBParameter("@mypara", "myvalue");
//Weitere parameter hinzufügen...
Com.ExecuteNonQuery;
}


-->> Hoffe mein Source ist fehlerlos...

08.11.2005 - 16:30 Uhr

Lege dir doch eine static oder Singleton Klasse "Data" an. Da hast du eine static DataSet und die DataAdapter, etc.

04.11.2005 - 17:31 Uhr

Hallo!

Ich habe eine Stored Procedure in meiner Access und DB und würde nun gerne per OleDB Commandbuilder die Queries zusammen bauen lassen. Geht aber nicht, auch DeriveParameters schlägt fehl. Jemand Vorschläge?

02.11.2005 - 19:16 Uhr

ACHTUNG!

SQL INJECTION!

02.11.2005 - 00:21 Uhr

But what is it good for?

Wenn du z.B. .NET 1.1 verwendest dürfte dir aufgefallen sein, das du nicht überprüfen kannst ob ein Formular geladen wurde oder nicht.

Das kann man sehr schön mit einer Klasse regeln die eine HashTable hat.
Der HashKey bzw. Value ist dann der Name der Form.
Das Objekt ist dann die Form selber, so kann man diese auf bequem ansprechen.

[1 von 1000enden Beispielen]

01.11.2005 - 20:37 Uhr

Ok!

Aber dann ergibt sich noch folgendes Problem:

Validating wird IMMER ausgeführt. Ich will aber nur die Eingabe überprüfen bei Änderung. Heißt: Der neue Wert ist durchaus ein gültiger Wert, der Nutzer soll nur bestätigen, dass er die Änderung tätigen möchte.

01.11.2005 - 18:29 Uhr

Ja, sehr gute Idee. Nur das Problem: Wie reset(e) ich ein Column in einer DataRow?
Nein RejectChanges auf die Row will ich auf keinen Fall.

01.11.2005 - 18:28 Uhr

Genau. Eventuell noch das Schema mit ReadSchema festlegen.

01.11.2005 - 14:45 Uhr

Hallo!

Ich habe ein DataSet mit mehreren verknüpften Tabellen. Jetzt kann man mithilfe eines Formulares und einer Combobox in die Child Tabelle schreiben.

Ich möchte, dass eine Meldung mit Ja/Nein angezeigt wird ob der Eintrag wirklich geändert werden soll. Das Problem dabei ist wenn die DataRow changes dann ändert sich ja auch der Combobox inhalt.

Ich weiß nicht genau welches Event ich von der DataRow nehmen soll....

Vielen Dank im Vorraus.

29.10.2005 - 16:18 Uhr

Such auch mal bei Microsoft MSDN nach Webcasts, da findet man auch sehr gute Erklärungen.

26.10.2005 - 20:44 Uhr

Ich bin vielleicht blöde:

"Erst lesen, dann schreiben"...

Oledb?
Odbc?

--> Bitte im richtigen Forum posten! Verschoben nach Datentechnologien.

26.10.2005 - 17:55 Uhr

WEDER OLEDB NOCH ODBC!!!

Finger weg davon! Es gibt doch extra einen .NET Datenbanktreiber von MySQL!
Runterladen (www.mysql.com) und installieren. Schon hat man die Xtra aus MySQL angepassten Klassen.

20.10.2005 - 18:15 Uhr

Schau dir mal die Methoden des DataRow Objektes an:

GetChildRows
GetParentRow

18.10.2005 - 22:56 Uhr

Das mit dem LATTENZAUN ist eigentlich von Access bekannt. Ich verweise einfach mal auf ein sehr ähnliches Problem im ActiveVB VB.NET Forum:

Date will nicht in Access

18.10.2005 - 22:52 Uhr

Ein Trigger ist eine sehr interessante Sache und ich kenne Ihn aus Firebird (ich arbeite nicht mit MS SQL).

So direkt für .NET und MS SQL habe ich nichts parat, aber das müsste dir auch weiterhelfen:

http://www.destructor.de/firebird/trigger.htm

18.10.2005 - 22:49 Uhr

Ich würde doch den Trigger von MySQL so belassen.

Anstelle würde ich einen Button ins Formular packen mit "Aktualisieren".

18.10.2005 - 22:47 Uhr

Versuch mal Teradata....
🙂

18.10.2005 - 12:14 Uhr

Bei Access und der MSDE wärste dann mit 4 Datensätzen fertig und könntest keine neuen anlegen. 🙂
Auch bei SQL Server Express 2005 wird das teuer.
Außerdem:
Wenn das Programm mal die Datenbank laden soll, wie stellste dir die Ladezeiten vor?
Oder noch schlimmer: Stell dir mal vor du müsstest die häfte der Datensätz updaten....
Laufzeiten von einer Woche sollte man dann schon einplanen, selbst der beste Infineon Ram und der beste XEON streikt da.

16.10.2005 - 16:57 Uhr

Ne bei BLOBs war es ne ganz andere Idee, wie Rainbird es bereits sagte. Bestes Beispiel ist eine Datenbank in der Mitarbeiter und Ihre Bilder gespeichert werden.

500MB werden definitiv nicht passen.

Alternative:

Du kannst einen Link auf die Datei in der Datenbank speichern.

16.10.2005 - 16:51 Uhr

nichts!?
Weil DataAdapter1.Fill(DataTable1) führt bereits den zugewiesenen Select Command aus.

15.10.2005 - 13:52 Uhr

So spontan fällt mir nur ein, dass du dir mal die Schnittstellen im Collections Namespace anschauen solltest. Du musst (glaube ich) IList implementieren, aber das kann ich dir auch nicht 100%ig sagen.

15.10.2005 - 12:37 Uhr

mycomm.executenonquery muss weg und gib mal den kompletten pfad an (und nicht Datenbanken.mdb)

15.10.2005 - 12:35 Uhr

Jau, danke!

14.10.2005 - 19:32 Uhr

Wenn du einen DataAdapter nimmst solltest du nicht die Connection öffnen.
Das ist nämlich das ADO Prinzip: Es wird nur connected wenn Daten geändert oder abgerufen werden.

Also Connection nicht öffnen oder closen. Das macht schon der DataAdapter.

14.10.2005 - 14:18 Uhr

Klar kannst du erstmal den OleDB Namespace im System.Data Namespace nehmen aber was ist da schon großes dabei den MySQL Connector zu laden und einzubinden?

Übrigens, aber am leichtesten finde ich Firebird, denn die haben eine Connectionstringbuilder Klasse die ich sehr bevorzuge.

13.10.2005 - 22:45 Uhr

Hallo!

Ich habe eine Tabelle sagen wir mal mit Nachname und Vorname.
Jetzt sind die Nachnamen an eine Combobox gebunden (per DataView).
Jetzt gibt es ein zweites DataView für die Vornamen; hier wird jetzt ein RowFilter angewendet.
Wie kann ich jetzt alle doppelten Einträge filtern (bitte ohne weiteren Datenbankzugriff oder die Erstellung einer neuen DataTable).

Danke im Vorraus.

13.10.2005 - 22:42 Uhr

Generell gilt:
(Fast) Jedes Datenbank System hat seinen eigenen .NET Connector, den man auch am besten nutzen sollten.

13.10.2005 - 17:09 Uhr

Ist Keys.Enter nicht eine numerische Konstante für 13?
Dann muss doch noch gecastet werden, oder?

13.10.2005 - 16:02 Uhr

Hallo!
Gibt es ein VB Asc / Chr Pendant in C#?
Denke nicht, aber wie überprüfe ich beim KeyPress Ereignis ob die Enter Taste gedrückt wurde?

13.10.2005 - 12:08 Uhr

Ja, aber wie lernt man's sonst?
Ganz ohne Source geht's doch nicht.

Ok, gebe zu eine komplette Klasse zu posten war ein bissle viel.

12.10.2005 - 21:43 Uhr

Lustig wirds bei VB With & Raiseevent.

12.10.2005 - 18:30 Uhr

Also erstmal:
Das ist noch lange nicht alles was man aus ADO.NET rausholen kann.

Ich wollte nur alles in die Wege leiten. Ich denke eben weils VB ist muss ein C# Programmierer da noch was lernen.

12.10.2005 - 15:05 Uhr

Sollte mit ADO.NET nicht so schwer sein.
Leider kann ich dir nicht sagen wie du eine Datenbank anlegst aber sonst sollte alles andere aus dem Beispiel ablesbar sein.


'//VB.NET Beispiel:

'//PS.: Run ist eine eigene Klasse fürs Log.

Imports System
Imports System.Data
Imports System.Data.OleDb
Imports Microsoft.VisualBasic
'//Imports -> using


''' -----------------------------------------------------------------------------
''' Project	 : DataExample
''' Class	 : Data
''' 
''' -----------------------------------------------------------------------------
''' <summary>
''' This class is the connection between front and backend.
''' </summary>
''' <remarks>
''' </remarks>
''' <history>
''' 	[Christian Dernehl]	07.10.2005	Created
''' </history>
''' -----------------------------------------------------------------------------
Public Class Data

    '/// Shared -> static
    Public Shared dsData As New DataSet

    Private Shared cn As New OleDbConnection
    Private Shared com As New OleDbCommand
    Private Shared da As New OleDbDataAdapter

    Private Shared sConnectionstring As String = String.Empty

    ''' -----------------------------------------------------------------------------
    ''' <summary>
    ''' The connectionstring is needed to connect to the database.
    ''' </summary>
    ''' <value>
    ''' The connectionstring to the database.
    ''' </value>
    ''' <remarks>
    ''' You can use the Connectionstringbuilder class.
    ''' </remarks>
    ''' <history>
    ''' 	[Christian Dernehl]	07.10.2005	Created
    ''' </history>
    ''' -----------------------------------------------------------------------------
    Public Shared Property Connectionstring() As String
        '//Den Access Connectionstring findest du bei www.connectionstrings.com
        Get
            Return sConnectionstring
        End Get
        Set(ByVal Value As String)
            sConnectionstring = Value
        End Set
    End Property

    ''' -----------------------------------------------------------------------------
    ''' <summary>
    ''' This sub fills the DataSet "dsData" with the data from the table "t_Daten".
    ''' If the table does not exist, a new one will be created.
    ''' </summary>
    ''' <remarks>
    ''' </remarks>
    ''' <history>
    ''' 	[Christian Dernehl]	07.10.2005	Created
    ''' </history>
    ''' -----------------------------------------------------------------------------
    Public Shared Sub FillDataSet()

        If sConnectionstring = String.Empty Then
            Throw New Exception("Connectionstring has not been initialized!")
        End If

        Try
            If Not cn.State = ConnectionState.Closed Then
                cn.Close()
            End If
            cn.ConnectionString = Connectionstring
            com.Connection = cn
            com.CommandText = "SELECT ID, Vorname, Nachname FROM t_Daten ORDER BY Nachname, Vorname;"
            '//Hier bitte eigenes SQL verwenden (google mal SQL Tutorial)
            Try
                'Create table if necessary
                Dim dtMetaData As New DataTable
                If cn.State = ConnectionState.Closed Then
                    cn.Open()
                End If
                dtMetaData = cn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, New Object() {Nothing, Nothing, Nothing, "TABLE"})
                If Not cn.State = ConnectionState.Closed Then
                    cn.Close()
                End If
                Dim bfound As Boolean = False
                For Each dr As DataRow In dtMetaData.Rows
                    If dr.Item("TABLE_NAME").ToString() = "t_Daten" Then
                        bfound = True
                        Exit For
                    End If
                Next
                If Not bfound Then
                    Dim comCreateNewTable As New OleDbCommand( _
                        "Create Table t_Daten( " & _
                        "ID integer not null Constraint ID Primary Key, " & _
                        "Vorname varchar(20), " & _
                        "Nachname varchar(20));", cn)
                    If cn.State = ConnectionState.Closed Then
                        cn.Open()
                    End If
                    comCreateNewTable.ExecuteNonQuery()
                    If Not cn.State = ConnectionState.Closed Then
                        cn.Close()
                    End If
                End If
            Catch oleex As OleDbException
                MessageBox.Show("An error occured while creating tables! " & oleex.Message, "Connection", _
                    MessageBoxButtons.OK, MessageBoxIcon.Error, _
                    MessageBoxDefaultButton.Button1)
                Run.WriteLog(oleex.Message)
            Catch ex As Exception
                MessageBox.Show("A critical error occured! " & ex.Message, _
                    "Critical Error", MessageBoxButtons.OK, MessageBoxIcon.Error, _
                    MessageBoxDefaultButton.Button1)
                Run.WriteLog(ex.Message)
            End Try
            If dsData.Tables("tblData") Is Nothing Then
                dsData.Tables.Add(New DataTable("tblData"))
            End If
            dsData.Tables("tblData").Clear()
            da.SelectCommand = com
            da.Fill(dsData.Tables("tblData"))
            dsData.Tables("tblData").Columns(0).AutoIncrement = True
            dsData.Tables("tblData").Columns(0).Unique = True
            dsData.Tables("tblData").Columns(0).AutoIncrementSeed = _
                dsData.Tables("tblData").Rows.Count
            dsData.Tables("tblData").PrimaryKey = New DataColumn() {dsData.Tables("tblData").Columns(0)}
        Catch oleex As OleDbException
            MessageBox.Show("Error #" & oleex.ErrorCode & " occured! " & oleex.Message, _
                "Data", MessageBoxButtons.OK, MessageBoxIcon.Error, _
                MessageBoxDefaultButton.Button1)
            Run.WriteLog(oleex.Message, oleex.ErrorCode)
        Catch dx As DataException
            MessageBox.Show("A data error occured! " & dx.Message, _
                "Data", MessageBoxButtons.OK, MessageBoxIcon.Error, _
                MessageBoxDefaultButton.Button1)
            Run.WriteLog(dx.Message)
        Catch ex As Exception
            MessageBox.Show("A critical error occured! " & ex.Message, _
                "Critical Error", MessageBoxButtons.OK, MessageBoxIcon.Error, _
                MessageBoxDefaultButton.Button1)
            Run.WriteLog(ex.Message)
        End Try

    End Sub

    ''' -----------------------------------------------------------------------------
    ''' <summary>
    ''' This sub updates the dataset "dsData". The commands for the database will be 
    ''' generated with a commandbuilder.
    ''' </summary>
    ''' <remarks>
    ''' </remarks>
    ''' <history>
    ''' 	[Christian Dernehl]	07.10.2005	Created
    ''' </history>
    ''' -----------------------------------------------------------------------------
    Public Shared Sub UpdateDataSet()

        If sConnectionstring = String.Empty Then
            Throw New Exception("Connectionstring has not been initialized!")
        End If

        Try
            Dim combui As New OleDbCommandBuilder(da)
            da.InsertCommand = combui.GetInsertCommand
            da.DeleteCommand = combui.GetDeleteCommand
            da.UpdateCommand = combui.GetUpdateCommand
            Try
                da.Update(dsData.Tables("tblData"))
            Catch dx As DataException
                MessageBox.Show("A error occured while updating data! " & dx.Message, _
                    "Data update", MessageBoxButtons.OK, MessageBoxIcon.Error, _
                    MessageBoxDefaultButton.Button1)
                Run.WriteLog(dx.Message)
            Catch ex As Exception
                MessageBox.Show("A critical error occured while updating data! " & ex.Message, _
                    "Data update", MessageBoxButtons.OK, MessageBoxIcon.Error, _
                    MessageBoxDefaultButton.Button1)
                Run.WriteLog(ex.Message)
            End Try
        Catch dx As DataException
            MessageBox.Show("A error occured while setting up the SQL commands! " & dx.Message, _
                "Data update", MessageBoxButtons.OK, MessageBoxIcon.Error, _
                MessageBoxDefaultButton.Button1)
            Run.WriteLog(dx.Message)
        Catch ex As Exception
            MessageBox.Show("A critical error occured while setting up the SQL commands! " & ex.Message, _
                "Data update", MessageBoxButtons.OK, MessageBoxIcon.Error, _
                MessageBoxDefaultButton.Button1)
            Run.WriteLog(ex.Message)
        End Try
    End Sub

    ''' -----------------------------------------------------------------------------
    ''' <summary>
    ''' This sub updates the dataset without settting up the commands. With the subs 
    ''' SetInsertCommand, SetDeleteCommand and SetUpdateCommand you can set up the 
    ''' commands yourself.
    ''' </summary>
    ''' <remarks>
    ''' </remarks>
    ''' <history>
    ''' 	[Christian Dernehl]	07.10.2005	Created
    ''' </history>
    ''' -----------------------------------------------------------------------------
    Public Shared Sub UpdateDataSetManually()
        Try
            da.Update(dsData)
        Catch dx As DataException
            Throw New DataException(dx.Message)
        Catch ex As Exception
            Throw New Exception(ex.Message)
        End Try
    End Sub

#Region " Set Commands manually "

    ''' -----------------------------------------------------------------------------
    ''' <summary>
    ''' In order to have your own command you can set up your own SQL insert command.
    ''' </summary>
    ''' <param name="Command">
    ''' The SQL insert command.
    ''' </param>
    ''' <remarks>
    ''' </remarks>
    ''' <history>
    ''' 	[Christian Dernehl]	07.10.2005	Created
    ''' </history>
    ''' -----------------------------------------------------------------------------
    Public Overloads Shared Sub SetInsertCommand(ByVal Command As OleDbCommand)
        da.InsertCommand = Command
    End Sub

    ''' -----------------------------------------------------------------------------
    ''' <summary>
    ''' In order to have your own command you can set up your own SQL insert command.
    ''' </summary>
    ''' <param name="Command">
    ''' The SQL insert commandtext.
    ''' </param>
    ''' <remarks>
    ''' </remarks>
    ''' <history>
    ''' 	[Christian Dernehl]	07.10.2005	Created
    ''' </history>
    ''' -----------------------------------------------------------------------------
    Public Overloads Shared Sub SetInsertCommand(ByVal CommandText As String)
        da.InsertCommand = New OleDbCommand(CommandText, cn)
    End Sub

    ''' -----------------------------------------------------------------------------
    ''' <summary>
    ''' In order to have your own command you can set up your own SQL update command.
    ''' </summary>
    ''' <param name="Command">
    ''' The SQL update command.
    ''' </param>
    ''' <remarks>
    ''' </remarks>
    ''' <history>
    ''' 	[Christian Dernehl]	07.10.2005	Created
    ''' </history>
    ''' -----------------------------------------------------------------------------
    Public Overloads Shared Sub SetUpdateCommand(ByVal Command As OleDbCommand)
        da.UpdateCommand = Command
    End Sub

    ''' -----------------------------------------------------------------------------
    ''' <summary>
    ''' In order to have your own command you can set up your own SQL update command.
    ''' </summary>
    ''' <param name="Command">
    ''' The SQL update commandtext.
    ''' </param>
    ''' <remarks>
    ''' </remarks>
    ''' <history>
    ''' 	[Christian Dernehl]	07.10.2005	Created
    ''' </history>
    ''' -----------------------------------------------------------------------------
    Public Overloads Shared Sub SetUpdateCommand(ByVal CommandText As String)
        da.UpdateCommand = New OleDbCommand(CommandText, cn)
    End Sub

    ''' -----------------------------------------------------------------------------
    ''' <summary>
    ''' In order to have your own command you can set up your own SQL delete command.
    ''' </summary>
    ''' <param name="Command">
    ''' The SQL delete command.
    ''' </param>
    ''' <remarks>
    ''' </remarks>
    ''' <history>
    ''' 	[Christian Dernehl]	07.10.2005	Created
    ''' </history>
    ''' -----------------------------------------------------------------------------
    Public Overloads Shared Sub SetDeleteCommand(ByVal Command As OleDbCommand)
        da.DeleteCommand = Command
    End Sub

    ''' -----------------------------------------------------------------------------
    ''' <summary>
    ''' In order to have your own command you can set up your own SQL delete command.
    ''' </summary>
    ''' <param name="Command">
    ''' The SQL delete commandtext.
    ''' </param>
    ''' <remarks>
    ''' </remarks>
    ''' <history>
    ''' 	[Christian Dernehl]	07.10.2005	Created
    ''' </history>
    ''' -----------------------------------------------------------------------------
    Public Overloads Shared Sub SetDeleteCommand(ByVal CommandText As String)
        da.DeleteCommand = New OleDbCommand(CommandText, cn)
    End Sub

#End Region


End Class

10.10.2005 - 21:38 Uhr

Also sagen wir mal so:
Wenn du das SP2 als Datei runterlädts ist das Framework nicht dabei. Wenn du es aber Windows Update runterläds wird optional angeboten. (Soweit ich weiß).

10.10.2005 - 20:59 Uhr

Jau hast recht!
Ich habe bei meinem Windows "Klassisch" eingestellt und daher nichts gemerkt.

10.10.2005 - 13:02 Uhr

Hallo ich habe VS 2003 Prof. Academic und habe folgendes Problem:
Ich möchte einen Button der ein Bild anzeigt.
Es ist wirklich nicht einfach. Ich habe folgendes schon probiert:
Über die Image, ImageIndex(mit ImageList) und über die BackgroundImage Eigenschaft in der IDE das Problem zu lösen. Nix passiert bei .gif, .jpg und bei .bmp wenn das Programm ausgeführt wird (egal ob debug oder release) aber in der IDE sind die Icons auf den Buttons.
Ich habe sogar versuch ein Label mit einem Image zu versehen (klappt) und dann einfach das zu kopieren und in den Button zu legen. Klappt auch nicht.

Gibts da was besonders, oder muss man sich einen eigenen Button programmieren?

10.10.2005 - 11:56 Uhr

Ich frage mich wirklich warum ich bei einem 30KB Programm .NET benötige. Das macht man doch in Assembler. LOL