Fenster ohne Rahmen verschieben



  • Wenn man das Windows Forms Fenster unsichtbar gemacht wie kann man dann das Fenster verschieben ?

    Ich habe zwar was gefunden in C# und habe es soweit umgearbeitet. siehe hier

    Point ^m_offset;
    Point ^m_Pos;
    	private: System::Void button3_MouseDown(System::Object^  sender, System::Windows::Forms::MouseEventArgs^  e) {
    				 m_offset = gcnew Point(e->X, e->Y);
    				 this->textBox1->Text = m_offset->ToString(); // Koordinaten anzeigen in Textbox
    			 }
    	private: System::Void button3_MouseMove(System::Object^  sender, System::Windows::Forms::MouseEventArgs^  e) {
    				 if (e->Button == ::MouseButtons::Left)
    				 {
    					 m_Pos = Control::MousePosition;
    					 m_Pos->Offset(m_offset->X, m_offset->Y);
    					 //m_Pos->Offset(m_offset);
    					 Location = Point(m_offset->X, m_offset->Y);;
    				 }
    

    Allerdings funktioniert es nicht wirklich. Hat vielleicht jemand eine Lösung ?

    Danke



  • Wenn du das Forms Fenster komplett Transparent hast (100%) hast du keine Möglichkeit es zu verschieben -> Du würdest ja immer auf den Desktop bzw. andere Fenster klicken.

    Solltest du meinen du hast nur den Rahmen entfernt, schätze ich die Events sind nicht aboniert.



  • Ich mache zwar Windows Forms transparent, aber lasse die Inhalte wie Buttons usw sichtbar .Das klappt auch ganz gut. Ich möchte dann aber noch mit einem Button den Inhalt ohne Rahmen verschieben.



  • Das musst Du dann von Hand implementieren... also MouseDown/MouseMove/MouseUp...



  • Hier, ich denke mal das ist in Deinem Sinne...

    www.rb-softarticle.com/MoveWindow.rar

    Gruß,

    Doug_HH



  • @Doug_HH Dankeschön genau sowas meinte ich 🙂 .


Anmelden zum Antworten