• Lunes 18 de Noviembre de 2024, 09:46

Autor Tema:  Ventana Con Formborderstyle = None Desaparece  (Leído 6995 veces)

The Don Killuminati

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Ventana Con Formborderstyle = None Desaparece
« en: Jueves 13 de Marzo de 2008, 17:49 »
0
Primero hola a todos, ojala esten bien, tengo una duda, aplique en una foma en su propiedad FormBorderStyle = none, despues añadi el codigo para mover la forma(ya que como todos sabemos es imposible mover la forma sin border).

Utilize el siguiente codigo, el cual encontre en este foro:

public Point mouseOffset;
public bool isMouseDown = false;


private void Form1_Load(object sender, EventArgs e)
{
this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.Form1_MouseDown);
this.MouseMove += new System.Windows.Forms.MouseEventHandler(this.Form1_MouseMove);
this.MouseUp += new MouseEventHandler(Form1_MouseUp);
}

private void Form1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{

int xOffset;
int yOffset;

if (e.Button == MouseButtons.Left)
{
xOffset = -e.X - SystemInformation.FrameBorderSize.Width;
yOffset = -e.Y - SystemInformation.CaptionHeight -
SystemInformation.FrameBorderSize.Height;
mouseOffset = new Point(xOffset, yOffset);
isMouseDown = true;
}

}


private void Form1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
{
if (isMouseDown)
{
Point mousePos = Control.MousePosition;
mousePos.Offset(mouseOffset.X, mouseOffset.Y);
Location = mousePos;
}
}


private void Form1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
{
// Changes the isMouseDown field so that the form does
// not move unless the user is pressing the left mouse button.
if (e.Button == MouseButtons.Left)
{
isMouseDown = false;
}
}

==========
Tambien le agregue un boton con el codigo de cerrar y otro con el de minimizar.

Ok, despues de tanta linea, les explico mi problema, lo que pasa es que muy emocionado por conseguir mover la forma, empeze a mover hacia todos lados la ventana y desaparecio.

No se si me explique,  movi la ventana casi en su totalidad detras de la barra de tareas y ya no podia darle clic a la forma y por lo tanto ya no podia moverla. Lo mismo pasa si lo muevo hacia los lados o hacia arriba de la pantalla.

Y en la barra de tareas le di clic derecho a la tarea de la ventana o solucion (como ustedes lo identifiquen) y no me muestra ningun menu para maximizar.

Bueno quisiera saber si existe una solucion para esto, o si solo se podra arreglar agregandole borde a la forma.

Gracias a todos por adelantado.

joselowolf

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Ventana Con Formborderstyle = None Desaparece
« Respuesta #1 en: Jueves 13 de Agosto de 2009, 17:58 »
0
Hola sabes, no solo hay es problema. sino que no funciona cuando haces click en la barra de tareas el programa y no se comporta igual.

si alguien sabe como solucionar este problema gracias.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Ventana Con Formborderstyle = None Desaparece
« Respuesta #2 en: Jueves 13 de Agosto de 2009, 21:28 »
0
Claro, el codigo esta un poco mal.

con esto bastara:

Código: C#
  1.  Point ubicacionOriginal;
  2.         private void Form1_MouseDown (object sender, MouseEventArgs e)
  3.         {
  4.             if (e.Button == MouseButtons.Left)
  5.             {
  6.                 ubicacionOriginal = e.Location;
  7.             }
  8.         }
  9.  
  10.        
  11.         private void Form1_MouseMove (object sender, MouseEventArgs e)
  12.         {
  13.             if (e.Button  == MouseButtons.Left)
  14.             {
  15.                 this.Left += e.X - ubicacionOriginal.X;
  16.                 this.Top += e.Y - ubicacionOriginal.Y;
  17.             }  
  18.         }
  19.  
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

joselowolf

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Ventana Con Formborderstyle = None Desaparece
« Respuesta #3 en: Jueves 13 de Agosto de 2009, 21:49 »
0
sabes el desplazar el formulario no es problema es pan comido...

el problema es cuando una ventana tiene la propiedad FromBorderStyle = none. y cuando le haces click en la barra de tareas. no hace nada.

mi entras que el en cualquier otro estilo de borde, se minimiza o algo asi, o  se pode en estilo en normal.

lo puedes ver con cualquier ventana repitiendo click en la ventana en la barras de tareas.

lo que quiero hacer es que tenga el mismo efecto.

gracias

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Ventana Con Formborderstyle = None Desaparece
« Respuesta #4 en: Viernes 14 de Agosto de 2009, 00:18 »
0
eso ya es otra cosa...
por tonto que parezca es muy facil de hacer pero con el click derecho...

hacerlo con el click izquierdo parece ser una completa pesadilla...
« última modificación: Viernes 14 de Agosto de 2009, 00:33 por JuanK »
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

joselowolf

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Ventana Con Formborderstyle = None Desaparece
« Respuesta #5 en: Viernes 14 de Agosto de 2009, 00:24 »
0
Pues si es una pesadilla que funcione bien.....

tienes alguna idea?

o algún evento que se dispare cuando hago click en esta parte?

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Ventana Con Formborderstyle = None Desaparece
« Respuesta #6 en: Viernes 14 de Agosto de 2009, 00:33 »
0
Cita de: "joselowolf"
Pues si es una pesadilla que funcione bien.....

tienes alguna idea?

o algún evento que se dispare cuando hago click en esta parte?
oops perdon
escribi mal mi respuesta anterior por favor vuelve y leela.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Ventana Con Formborderstyle = None Desaparece
« Respuesta #7 en: Viernes 14 de Agosto de 2009, 22:44 »
0
Cita de: "joselowolf"
Pues si es una pesadilla que funcione bien.....

tienes alguna idea?

o algún evento que se dispare cuando hago click en esta parte?
bueno, con eyuda de eternal idol del foro de Visual C++ encontre una página que me dio muchas luces...

http://www.rohitab.com/discuss/lofivers ... 27876.html

la solución es:

1- crea la ventana normal
2- sobre escribe la propiedad CreateParams y en ella anula las propiedades caption y sizebox de la ventana

Código: C#
  1.         const int WS_CAPTION = 0xC00000;
  2.         const int WS_THICKFRAME = 0x00040000;
  3.         const int WS_SIZEBOX = WS_THICKFRAME;
  4.         protected override CreateParams CreateParams
  5.         {
  6.             get
  7.             {
  8.                 CreateParams p = base.CreateParams;
  9.                 p.Style &= ~(WS_CAPTION | WS_SIZEBOX);
  10.                 return p;
  11.             }
  12.         }
  13.  

listo!!!  ;)
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

joselowolf

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Ventana Con Formborderstyle = None Desaparece
« Respuesta #8 en: Lunes 17 de Agosto de 2009, 19:59 »
0
Pues si man, asi se soluciona.... que vacan..

mil gracias.

Ricardo Magon

  • Nuevo Miembro
  • *
  • Mensajes: 14
  • Nacionalidad: mx
    • Ver Perfil
Re: Ventana Con Formborderstyle = None
« Respuesta #9 en: Miércoles 2 de Diciembre de 2009, 17:41 »
0
:good:

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Ventana Con Formborderstyle = None Desaparece
« Respuesta #10 en: Miércoles 2 de Diciembre de 2009, 17:46 »
0
He escrito en meses pasados un articulo al respecto.

http://juank.black-byte.com/c-minimizar ... sin-borde/
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Ricardo Magon

  • Nuevo Miembro
  • *
  • Mensajes: 14
  • Nacionalidad: mx
    • Ver Perfil
Re: Ventana Con Formborderstyle = None Desaparece
« Respuesta #11 en: Miércoles 2 de Diciembre de 2009, 17:51 »
0
como puedo deslisar la forma hacerla mas grande

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Ventana Con Formborderstyle = None Desaparece
« Respuesta #12 en: Miércoles 2 de Diciembre de 2009, 17:53 »
0
Cita de: "Ricardo Magon"
como puedo deslisar la forma hacerla mas grande
que tiene que ver deslizarla con hacerla mas grande?

cambia las porpiedades Location y Size
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Ricardo Magon

  • Nuevo Miembro
  • *
  • Mensajes: 14
  • Nacionalidad: mx
    • Ver Perfil
Re: Ventana Con Formborderstyle = None Desaparece
« Respuesta #13 en: Miércoles 2 de Diciembre de 2009, 17:55 »
0
Si eso
« última modificación: Domingo 6 de Diciembre de 2009, 21:17 por Ricardo Magon »

Ricardo Magon

  • Nuevo Miembro
  • *
  • Mensajes: 14
  • Nacionalidad: mx
    • Ver Perfil
Re: Ventana Con Formborderstyle = None Desaparece
« Respuesta #14 en: Miércoles 2 de Diciembre de 2009, 17:59 »
0
si quiero hacer la forma  mas grande
« última modificación: Domingo 6 de Diciembre de 2009, 19:56 por Ricardo Magon »

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Ventana Con Formborderstyle = None Desaparece
« Respuesta #15 en: Miércoles 2 de Diciembre de 2009, 18:13 »
0
cuando quieras cambiar el tamaño utiliza dentro del formulario
Código: C#
  1. this.Size = new (Size(nuevoAncho, nuevoAlto));
  2.  
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Ricardo Magon

  • Nuevo Miembro
  • *
  • Mensajes: 14
  • Nacionalidad: mx
    • Ver Perfil
Re: Ventana Con Formborderstyle = None Desaparece
« Respuesta #16 en: Domingo 6 de Diciembre de 2009, 21:19 »
0
Ya me salio grasias

Ricardo Magon

  • Nuevo Miembro
  • *
  • Mensajes: 14
  • Nacionalidad: mx
    • Ver Perfil
Re: Ventana Con Formborderstyle = None Desaparece
« Respuesta #17 en: Domingo 6 de Diciembre de 2009, 21:21 »
0
y para espandir la forma en modo de ejecusion