Originariamente inviato da Rising1
sto provando a fare come suggerito, ma prima ovviamente devo elaborare l' input in modo da mettergli quei "%20" al posto degli spazi
ecco il codice:

codice:
bool punto=false;
int j=39;
System::String ^ analize;
System::String ^ nuovo="http://www.google.it/search?ie=UTF-8&q=";
analize=inserturl->Text;

// dove inserturl è la textbox dove l'utente scrive l'url o la cosa da cercare

for (int i=0;i<(inserturl->Text->Length);i++) {
      if (analize[i]=='.') punto=true; }
	if (punto) webBrowser1->Navigate(inserturl->Text); 

//In pratica per semplificare se l'utente mette un punto vuol dire che sta mettendo un
//indirizzo, come google.it o youtube.com etc, in tutti gli altri casi vuole fare una ricerca su google

else {
		 for (int i=0;i<analize->Length;i++) { 
                 if (analize[i]==' ') 
--->           {nuovo[j]='%'; j=j+1;   nuovo[j]='2';   j=j+1;   nuovo[j]='0';   j=j+1;} else
--->		 {nuovo[j]=analize[i];j=j+1;}
		}  
			 
// lo so, un macello, ma ho poca dimestichezza con questa "nuova" gestione delle stringe nel
//c++. In pratica se trovo uno spazio metto in Nuovo[] un %20 e ricomincio a copiare
//i caratteri ad uno ad uno. così per tutti gli altri spazi. 

webBrowser1->Navigate(nuovo);

//ed infine inizio la ricerca.
}
gli errori sono dove ci sono le frecce:

"error C3070: 'System::String::default': la proprietà non ha un metodo 'set' "
Non ne sono sicuro, ma ci dovrebbero essere sono apposite funzioni di libreria che fanno queste cose (ti convertono anche i caratteri accentati, gli apostrofi ecc.) tipo questa: http://php.net/manual/en/function.htmlspecialchars.php

Per risolvere invece ilo tuo problema, prova a contare prima tutti gli spazi, e man mano ti crei le stringhe, che poi unisci tutte insieme mettendo un "%20" nel mezzo