PDA

View Full Version : [C# Mono] MessageBox non funziona su Mac


<Gabrik>
08-01-2011, 17:28
Salve, da un pò mi era saltata in testa l'idea di poter usare Mono per sviluppare in c# anche su Linux e Mac OS,
bene ieri scarico Mododevelop e le librerie per farlo funzionare, ma non riesco a fare spuntare una semplice MessageBox :muro:
ecco il codice:

using System;
using Gtk;
using System.Windows.Forms;

public partial class MainWindow : Gtk.Window
{
public MainWindow () : base(Gtk.WindowType.Toplevel)
{
Build ();
}

protected void OnDeleteEvent (object sender, DeleteEventArgs a)
{
Gtk.Application.Quit (); //ho dovuto specificare Gtk altrimenti c'era ambiguità con Windows.Forms.Application
a.RetVal = true;
}
protected virtual void OnButton1Clicked (object sender, System.EventArgs e)
{
label1.Text="CIao";
MessageBox.Show("Ciao Mondo");
}


}


dutante la compilazione non da errori ma in esecuzione appena clicco sul pulsante si pianta il programma :mbe:
se provo a commentare la riga dove richiamo la MessageBox funziona tutto :muro:

qualche idea?
grazie in anticipo;)

Freaxxx
08-01-2011, 22:42
fossi in te non ci perderei tempo, Mono è un porting non ufficiale per giunta incompleto, magari risolvi questa e ti ritrovi con tante altre mancanze, potresti anche passare mesi a sbatterci la testa, risolvi il tutto, e il giorno dopo esce la nuova versione di mono che spazza via il fix che hai trovato.

<Gabrik>
09-01-2011, 09:50
fossi in te non ci perderei tempo, Mono è un porting non ufficiale per giunta incompleto, magari risolvi questa e ti ritrovi con tante altre mancanze, potresti anche passare mesi a sbatterci la testa, risolvi il tutto, e il giorno dopo esce la nuova versione di mono che spazza via il fix che hai trovato.

grazie del consiglio, effettivamente non è il massimo anche l'editor di interfacce fa leggermente pena :muro:
comunque ho risolto così

//funzione messageBox gtk
public void messageBox(string message)
{
MessageDialog msgbox = new MessageDialog ((Window) this, Gtk.DialogFlags.Modal, Gtk.MessageType.Other, Gtk.ButtonsType.Ok, message);
msgbox.Run();
msgbox.Destroy();
}

praticamente uso Gtk, visto che System.Windows.Forms non sembra funzionare

peccato che su Mac non esiste un IDE completo come Visual Studio :rolleyes: