Mehrfachvererbung wird nur z.T. unterstützt.
Von Interfaces kannst su erben, wie du willst, du kannst aber nur einmal von einer richtigen Klasse erben.
Da sind mehrere Dinge noch bissle schief.
Alle Member der Klassen müssen serialisierbar sein, weiß nicht ob das bei dir der Fall ist. Und ohne zusätzliche Attribute gehen auch deine Klasseninformationen verloren, weil statt deinem PointLight nur der Light Anteil geschrieben werden würde.
Schau dir mal dieses Tutorial an. Dort gibts abschnitte die genau dieses Problem behandeln.
Auch solltest du mal nach der InnerException von deiner InvalidOperationException schaun. Meist liegt das Problem tiefer.
Pack das große Panel in ein kleineres Panel, welches dieselbe Größe wie die Form hat (am besten einfach per äußeresPanel.Dock = DockStyle.Fill; ) und setz dann außerdem äußeresPanel.AutoScroll = true; – das war's.
Speedy_92 schrieb:
Also ich denke, das ginge dann so:
MyNumber[0] = txt1.Text.ToString();
Wie Jockel schon andeutete, das wird nicht klappen. Stattdessen muss es so heißen:
MyNumber[0] = T.Parse(txt1.Text);
Wobei 'T' halt der Datentyp ist (z.B. 'int'). Von der Verwendung der Klasse 'Convert' rate ich, wie in einem anderen Thread schon erwähnt, aus diversen Gründen ab.
Halli Hallo
kann es möglich sein das wenn ich zwei Zellen aus benachbarten Zeilen verbinde ( merge ) das ich danach keine Zeilen per index ansprechen kann ???
ich habe z.B. C1 aus ROW3 mit C1 aus ROW4 verbunden das klappt auch.
Wenn ich aber jetzt versuche über oTable.Row[xyz] auf irgendeine Zeile zuzugreifen bekomme ich ein exception ( siehe unten ).
DIe Fehler Meldung besagt :
"Es können keine individuellen Reihen in dieser Sammlung adressiert werden, weil die Tabelle vertikal verbundene Zellen enthält."
Aber es muss doch möglich sein in einer Tabelle Vertikale - Zellen zu Mergen und dann noch weiter mit der Tabelle arbeiten können ???
wäre über jeden Tipp froh !!!
Col1
COL2
COL3
ROW1
C1
C2
ROW2
C1
C2
ROW3
C1
C2
ROW4
C1
C2
ROW5
C1
C2
ROW6
C1
C2
System.Runtime.InteropServices.COMException wurde nicht behandelt.
HelpLink="G:\\Program Files\\Microsoft Office\\OFFICE11\\1031\\wdmain11.chm#25471"
Message="Es können keine individuellen Reihen in dieser Sammlung adressiert werden, weil die Tabelle vertikal verbundene Zellen enthält."
Source="Microsoft Word"
ErrorCode=-2146822297
StackTrace:
bei Microsoft.Office.Interop.Word.Rows.get_Item(Int32 Index)
bei WindowsApplication3.Form1.AddKategorieHeader(Table oTable, Int32 row, String text) in G:\Users\leo\Documents\Visual Studio 2005\Projects\WindowsApplication3\WindowsApplication3\Form1.cs:Zeile 114.
bei WindowsApplication3.Form1.button1_Click(Object sender, EventArgs e) in G:\Users\leo\Documents\Visual Studio 2005\Projects\WindowsApplication3\WindowsApplication3\Form1.cs:Zeile 93.
bei System.Windows.Forms.Control.OnClick(EventArgs e)
bei System.Windows.Forms.Button.OnClick(EventArgs e)
bei System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
bei System.Windows.Forms.Control.WndProc(Message& m)
bei System.Windows.Forms.ButtonBase.WndProc(Message& m)
bei System.Windows.Forms.Button.WndProc(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
bei System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
bei System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
bei System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
bei System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
bei System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
bei System.Windows.Forms.Application.Run(Form mainForm)
bei WindowsApplication3.Program.Main() in G:\Users\leo\Documents\Visual Studio 2005\Projects\WindowsApplication3\WindowsApplication3\Program.cs:Zeile 17.
bei System.AppDomain.nExecuteAssembly(Assembly assembly, String[] args)
bei System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
bei Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
bei System.Threading.ThreadHelper.ThreadStart_Context(Object state)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
bei System.Threading.ThreadHelper.ThreadStart()
msdn schrieb:
You must call the Socket.Bind(EndPoint) method if you intend to receive connectionless datagrams using the ReceiveFrom method.
...vor s.ReceiveFrom(Rmsg, ref xe).
c#pdf schrieb:
Sorry, hatte mir nur den Viewer angesehen, der nur ActiveX nutzt und selbst nicht lesen kann.
PdfSharp an sich kann natürlich PDFs lesen, siehe Namespace PdfSharp.Pdf.IO.
Genau danach hatte ich gesucht.
Danke für den Tipp!
Gern geschehn!
Mit freundlichen Grüßen
Rhombicosidodecahedron
Habs anders gemacht
Control [] c = form_FileManager.Controls.Find("listBox1", true);
ListBox form2_listBox = (ListBox)c[0];
form2_listBox.Items.Add("123");
Hallo
Ja werde beachten!
also ich will jetzt ein Datenrückfluss aufbauen , aber da bekomme ich nix mehr hin!
Hat einer ne Idee wie ich form1 anmelde und einen Fluss zu form2 mache!
Sitze schon 4 Tage dran!
Habe eine Frage noch , geht das Überhaupt das ich durch delegat in beide Richtungen senden kann!
wie binde ich es an!
Oder wo habe ich einen Fehler!
lg
michme schrieb:
FACK! Nur leider wird dies selbst in den Beispielen der MSDN _nicht_ konsequent eingesetzt.
Ja, die Beispiele von Microsoft sind sowieso leider alle mit Vorsicht zu genießen. Genügend viele davon sind ungenau, schlechte Lösungen, funktionieren nur teilweise oder sogar gar nicht. Die Beispiele halten sich weder an die Coding Guidelines noch an die genaue Semantik des .NET-Frameworks.
Ich habe für ein Windows Form ein Menü erstellt ( Datei, Bearbeiten, etc ). Wenn man draufklickt, ploppt das Menü einfach auf, ohne den Einblendeffekt, wie er sonst zu sehen ist ( z.B. auch in Visual Studio 2005 ).
Wie blendet man das Menü denn ein? Danke im Voraus.
Hi,
ich mache gerade folgendes Tutorial:
http://msdn2.microsoft.com/en-us/library/aa645738(VS.71).aspx
Doch wenn ich die C++-Datei kompiliere, bekomme ich folgende Errors:
1>main.cpp
1>main.cpp(23) : error C2065: 'IManagedInterface' : undeclared identifier
1>main.cpp(23) : error C2065: 'cpi' : undeclared identifier
1>main.cpp(28) : error C2065: 'CLSID_InterfaceImplementation' : undeclared identifier
1>main.cpp(30) : error C2065: 'IID_IManagedInterface' : undeclared identifier
1>main.cpp(47) : error C2227: left of '->PrintHi' must point to class/struct/union/generic type
1> type is ''unknown-type''
1>main.cpp(53) : error C2227: left of '->Release' must point to class/struct/union/generic type
1> type is ''unknown-type''
1>main.cpp
1>main.cpp(23) : error C2065: 'IManagedInterface' : undeclared identifier
1>main.cpp(23) : error C2065: 'cpi' : undeclared identifier
1>main.cpp(28) : error C2065: 'CLSID_InterfaceImplementation' : undeclared identifier
1>main.cpp(30) : error C2065: 'IID_IManagedInterface' : undeclared identifier
1>main.cpp(47) : error C2227: left of '->PrintHi' must point to class/struct/union/generic type
1> type is ''unknown-type''
1>main.cpp(53) : error C2227: left of '->Release' must point to class/struct/union/generic type
1> type is ''unknown-type''
1>Generating Code...
Ich benutze VC++2005 und VC#2005. Weiß einer woran das liegen kann? Die tlb-Datei habe ich auch dem Projekt hinzugefügt.
Dein Weg mit der Post-Sonstwas-Methode geht nicht
Es gibt zwei verschiedene Wege um das Fenster zu verschieben:
Die erste Möglichkeit besteht darin MouseMove, MouseUp, MouseDown zu verwenden:
private Point m_start;
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button != MouseButtons.Left)
return;
Capture = true;
m_start = new Point(e.X, e.Y);
}
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (!Capture)
return;
Location = new Point(Location.X + e.X - m_start.X, Location.Y + e.Y - m_start.Y);
}
private void Form1_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button != MouseButtons.Left)
return;
Capture = false;
}
die andrere Möglickeit wäre WndProc zu überschreiben:
protected override void WndProc(ref Message msg)
{
base.WndProc(ref msg);
const int WM_NCHITTEST = 0x84;
const int HTCLIENT = 0x01;
if (msg.Msg == WM_NCHITTEST && HTCLIENT == msg.Result.ToInt32())
msg.Result = new IntPtr(2);
}
Grundsätzlich ist, meiner Meinung nach, die erste ein wenig besser ...
Mit freundlichen Grüßen
Rhombicosidodecahedron