Hallo an Alle,
ich bin ganz neu hier und habe sehr wenig programmiererfahrung. Entschuldigt wenn ich dumme Fragen stelle.
Ich möchte in einem datagridview sehr viele zeilen(bis zu 1000) anzeigen. Wobei jede zeile eines von zwei Bildern enthalten soll. Nun habe ich das eigentlich schon gelöst und es funktioniert auch. Mein Problem ist, daß es sehr langgsam läuft. Hat jemand einen leicht verstänlichen Tip wie man das Laden der Bilder beschleunigen könnte? Die Bilddateien sind schon sehr klein, da möchte ich eignetlich nicht weiter sparen.
Unten ist mal ein Ausschnitt meines Codes, aus dem heraus glaube ich das Problem hervorgeht.
Danke, Theo
ich bin ganz neu hier und habe sehr wenig programmiererfahrung. Entschuldigt wenn ich dumme Fragen stelle.
Ich möchte in einem datagridview sehr viele zeilen(bis zu 1000) anzeigen. Wobei jede zeile eines von zwei Bildern enthalten soll. Nun habe ich das eigentlich schon gelöst und es funktioniert auch. Mein Problem ist, daß es sehr langgsam läuft. Hat jemand einen leicht verstänlichen Tip wie man das Laden der Bilder beschleunigen könnte? Die Bilddateien sind schon sehr klein, da möchte ich eignetlich nicht weiter sparen.
Unten ist mal ein Ausschnitt meines Codes, aus dem heraus glaube ich das Problem hervorgeht.
Danke, Theo
VB.NET-Quellcode
- Private Sub LayerEinAus_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
- Dim Mylayers As LayerTable
- Dim MylayerEnumerator As SymbolTableEnumerator
- Dim Mylayer As LayerTableRecord
- Dim MyRow As DataGridViewRow
- Dim Row As Integer
- MyData = DataGridView1
- AllLayers = New CollectionMyOnCell = My.Resources.LampeEIN
- MyOffcell = My.Resources.LampeAUSUsing acTrans As Transaction = acDoc.Database.TransactionManager.StartTransaction()Mylayers = acDoc.Database.LayerTableId.GetObject(OpenMode.ForRead)
- MylayerEnumerator = Mylayers.GetEnumerator
- While MylayerEnumerator.MoveNextMylayer = MylayerEnumerator.Current.GetObject(OpenMode.ForRead)
- AllLayers.Add(Mylayer, Mylayer.Name)
- Row = MyData.Rows.Add()
- MyRow = MyData.Rows(Row)
- MyRow.Cells(0).Value = Mylayer.Name
- If Mylayer.IsOff = False And Mylayer.IsFrozen = False Then
- MyRow.Cells(1).Value = MyOnCell
- MyRow.Cells(1).ToolTipText = "AN"
- Else
- MyRow.Cells(1).Value = MyOffcell
- MyRow.Cells(1).ToolTipText = "AUS"
- End If
- End WhileMyData.Sort(MyData.Columns(0), System.ComponentModel.ListSortDirection.Ascending)
- End Using
- End Sub
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Theo37“ ()