Boton favorito de Mozilla Firefox y otras cosas

Iniciado por TickTack, 28 Abril 2017, 10:58 AM

0 Miembros y 1 Visitante están viendo este tema.

TickTack

#10
Hola Elektro,

Citar
¿Cuando he dicho yo eso?. No pienso eso, por que nadie empieza sabiendo, y yo hace unos años no sabía NADA sobre NADA en lo referente a la programación .NET así que sería muy hipócrita por mi parte llamarle a alguien inutil.

No, no. Solamente estaba diciendo de mi mismo que no sirvo para programar y que tu te has dado cuenta. Por supuesto que nunca dijiste esto.
Hace unos anos? Yo agregaria hace muchos anos porque es increible tu conocimiento en C#.

Con respecto al codigo, tengo miedo de que tu codigo pudiera modificar algo en el codigo que tengo yo.

Por ejemplo en vez de Form1, yo tengo WBrowser. Ademas yo no agregue esto:

this.Shown += this.Form1_Shown;

Que en mi caso vendria siendo:

this.Shown += this.WBrowser_Shown;

De todos modos, yo lo tengo asi:


public WBrowser()
       {
           InitializeComponent();
           currentCulture = CultureInfo.CurrentCulture;
       }


Habria problema en hacer esto?:


public WBrowser() {
           this.InitializeComponent();
           this.Shown += this.Form1_Shown;
           this.webBrowserExtended1.DocumentMouseDown += this.WebBrowserExtended1_DocumentMouseDown;
           currentCulture = CultureInfo.CurrentCulture;
       }


Quizas te podria interesar lo que hasta ahora tengo:

http://www.mediafire.com/file/tcuwqsw6b7nwgzb/WBrowser.cs

Gracias y saludos
Citar
"Ninguna mentira puede inventarse lo suficientemente patán: el pueblo hispanohablante la cree. Por una consigna que se les dio, persiguieron a sus compatriotas con mayor encarnizamiento que a sus verdaderos enemigos."

Eleкtro

#11
Cita de: TickTack en  4 Mayo 2017, 13:57 PM
Con respecto al codigo, tengo miedo de que tu codigo pudiera modificar algo en el codigo que tengo yo.

Por ejemplo en vez de Form1, yo tengo WBrowser. Ademas yo no agregue esto:

this.Shown += this.Form1_Shown;

Que en mi caso vendria siendo:

this.Shown += this.WBrowser_Shown;

La clase que mostré Form1 hereda de la clase Form, igual que tu clase WBrowser hereda de la clase Form, son lo mismo, simplemente tienes que usar el nombre de tu clase en vez vez del que yo usé. Evidentemente no tienes que usar la clase que mostré de forma literal, sino adaptarla a la clase que ya tengas.

Cita de: TickTack en  4 Mayo 2017, 13:57 PMHabria problema en hacer esto?:
public WBrowser() {
           this.InitializeComponent();
           this.Shown += this.Form1_Shown;
           this.webBrowserExtended1.DocumentMouseDown += this.WebBrowserExtended1_DocumentMouseDown;
           currentCulture = CultureInfo.CurrentCulture;
       }

No, no hay problema siempre y cuando en esa clase declares el controlador de eventos Form1_Shown y WebBrowserExtended1_DocumentMouseDown.
De todas formas tu clase se llama WBrowser, así que por lógica y estética lo más apropiado sería usar la nomenclatura WBrowser_Shown.

PD: Tienes montado un buen lio de nomenclaturas en esa clase, los controladores de eventos del WebBrowser tienen nombres algo inapropiados y confusos como por ejemplo Form1_DocumentCompleted.

¡Saludos!








TickTack

Hola Elektro,

antes que nada, una pregunta acerca de esta liniea:

this.webBrowserExtended1.DocumentMouseDown += this.WebBrowserExtended1_DocumentMouseDown;

De donde es webBrowserExtended1? Porque me aparece este error:

No contiene una definición y no se puede encontrar un método de extensión aceptando un primer argumento de tipo (¿falta una directiva using o una referencia de ensamblado?

Es el error CS1061.

Gracias y saludos

PD.: Soy un desastre. Me falta mucho, mucho, muchisimo para tener un conocimiento mas o menos aceptable.
Citar
"Ninguna mentira puede inventarse lo suficientemente patán: el pueblo hispanohablante la cree. Por una consigna que se les dio, persiguieron a sus compatriotas con mayor encarnizamiento que a sus verdaderos enemigos."

Eleкtro

#13
Cita de: TickTack en  4 Mayo 2017, 15:56 PMDe donde es webBrowserExtended1? Porque me aparece este error:

En esta respuesta te mostré la clase WebBrowserExtended...


Cita de: Eleкtro en  2 Mayo 2017, 05:22 AMPor último, el código original traducido a C#:
Código (csharp) [Seleccionar]
public class WebBrowserExtended : WebBrowser {
...

"WebBrowserExtended1" es una instancia de esa clase creada en tiempo de diseño, el equivalente a arrastrar un control WebBrowser a un Form y que se genere un objeto con el nombre "WebBrowser1" de forma automática...

Sencillamente en tu proyecto tienes que reemplazar tu control WebBrowser por el control WebBrowserExtended. ¿Entiendes a lo que me refiero?.

¡Saludos!








TickTack

Hola Elektro,

Citar
el equivalente a arrastrar un control WebBrowser a un Form y que se genere un objeto con el nombre "WebBrowser1" de forma automática...

Ahhh... pero eso ya esto hecho en el WBrowser.Designer:

http://www.mediafire.com/file/oga66r1ug9m3t2u/WBrowser.Designer.cs

Pero hice lo que tu me dijiste. Cambie el control por WebBrowserExtended y uno de los 45 errores que me da es este:

public partial class WebBrowserExtended : Form

Falta el modificador parcial en la declaración de tipo; Existe otra declaración parcial de este tipo

Error CS0260

Gracias y saludos

Citar
"Ninguna mentira puede inventarse lo suficientemente patán: el pueblo hispanohablante la cree. Por una consigna que se les dio, persiguieron a sus compatriotas con mayor encarnizamiento que a sus verdaderos enemigos."

Eleкtro

#15
Cita de: TickTack en  4 Mayo 2017, 17:03 PMpublic partial class WebBrowserExtended : Form

¿Esa herencia de donde ha salido y por qué le has añadido el modificador "partial"?.

Me parece que te estás liando, la clase WebBrowserExtended debe heredar de la clase WebBrowser. La clase WebBrowserExtended la copias en tu proyecto tal cual la escribí (solo modifícale el espacio de nombres), luego compilas, y entonces podrás usar el nuevo control WebBrowserExtended en tiempo de diseño de la misma manera que un WebBrowser normal y corriente.








TickTack

Hola Elektro,

Citar
la clase WebBrowserExtended debe heredar de la clase WebBrowser

Asi lo tengo yo.

Citar
La clase WebBrowserExtended la copias en tu proyecto tal cual la escribí (solo modifícale el espacio de nombres)

Asi tambien lo hice.

El problema esta con el otro codigo que me diste. El que tiene que ir WBrowser.cs. Ahi me aparece ese error que te mencione anteriormente.

Gracias y saludos
Citar
"Ninguna mentira puede inventarse lo suficientemente patán: el pueblo hispanohablante la cree. Por una consigna que se les dio, persiguieron a sus compatriotas con mayor encarnizamiento que a sus verdaderos enemigos."

Eleкtro

#17
Cita de: TickTack en  4 Mayo 2017, 17:03 PMCambie el control por WebBrowserExtended y uno de los 45 errores que me da es este:

Falta el modificador parcial en la declaración de tipo; Existe otra declaración parcial de este tipo

Error CS0260

Cita de: TickTack en  4 Mayo 2017, 19:09 PMEl problema esta con el otro codigo que me diste. El que tiene que ir WBrowser.cs. Ahi me aparece ese error que te mencione anteriormente.

No estoy completamente seguro ya que no me conozco al pie de la letra los mensajes de error del compilador de C# en Español (yo trabajo el VS en Inglés) pero ese error parece indicar una ambiguación entre dos clases declaradas sin el modificador "partial", pero sin más información no sé por que te sale ese error.

Si no es mucha molestia muestrame el código fuente entero de la clase WBrowser.cs (otra vez, para ver los cambios que has hecho) e indícame la linea exacta donde salta ese error de compilación.

¡Saludos!








TickTack

Hola Elektro,

el codigo es ese que te pase, a saber, http://www.mediafire.com/file/tcuwqsw6b7nwgzb/WBrowser.cs

El problema surge en la linea 16.


Gracias y saludos
Citar
"Ninguna mentira puede inventarse lo suficientemente patán: el pueblo hispanohablante la cree. Por una consigna que se les dio, persiguieron a sus compatriotas con mayor encarnizamiento que a sus verdaderos enemigos."

Eleкtro

#19

Ahí te explica el motivo. En teoría es por una ambiguación de nomenclaturas, supuestamente tienes dos o más clases declaradas con el mismo nombre "WBrowser" en el mismo espacio de nombres. Para solucionarlo debes añadirle el modificador "partial" a todas las declaraciones de esas clases.

¡Saludos!