Conversione di Tipo

sabato 06 marzo 2004 - 11.17

123456 Profilo | Newbie

Un saluto a tutti,

Piccolo problema...

Evento MouseMove del controllo ListView
Il seguente codice genera un errore in quanto l'istruzione da confrontare non è di tipo True e False....

if (listView1.GetItemAt(e.x,e.y).ForeColor=System.Drawing.Color.Aquamarine)
Colore originale;
else
Cambia Colore;

è possibile convertire in bool l'istruzione per poterla confrontare correttamente? ma come?
altrimenti come posso fare questo tipo di controllo
il mio scopo è quello di cambiare il colore della riga al passaggio del Mouse via codice
in quanto l'effetto che mi genera in automatico il controllo, non va bene con lo sfondo dello stesso
per questo dovrei decidere io quale colore attribuire quando il mouse è sopra e quando si sposta.

Grazie
Maurizio

Brainkiller Profilo | Guru

Forse ti sei dimenticato qualcosa ?
Di solito per effettuare i confronti in C# si usa l'operatore == e non semplicemente = che serve per l'assegnamento di valori alle variabili.

Prova così e fai sapere.
ciao
david

123456 Profilo | Newbie

Ciao, magari fosse solo questo...ma non mi arrendo.

E' quel cavolo di vb che mi ha sconvolto; comunque hai ragione avevo dimenticato l'operatore di confronto.

PS:
Avrei un'altra domanda da porti:

Devo passare L'ID del recordset selezionato dalla listview su un'altra FORM per darlo in pasto al motore SQL e quindi popolare i campi.

Seleziono l'ID Correttamente tutto OK ma non capisco come portarlo nella l'altra form azz..
provo riprovo ma non c'è "grosso Dilemma"

Ciao

Brainkiller Profilo | Guru

Scusa ma non capisco la tua terminologia, che significa "recordset selezionato dalla listview" quando i recordset venivano utilizzati con ADO e VB6 e da ADO.NET e .NET non esistono più? E che cosa hanno a che vedere con la Listview ?

ciao
david

123456 Profilo | Newbie

In .NET l'equivalente di un Recordset appunto vb6(ado e compagnia bella) è il DataSet,
perdonami se faccio esempi utilizzando un'altro linguaggio....
tuttavia Per listview intendo questo:

[C#.NET]

Form1
ho una listview, si chiama ancora cosi' no, piena di record...ognuno di questi presenta un "ID -> contatore univoco" che è il valore che di solito utilizzo per fare le query

Form2
ho il dettaglio del record selezionato in form1


Sono riuscito attraverso il clik sul record presente nella listview (form1) a prendere il famoso "ID"

adesso rimane popolare i campi nella form2 con questo famoso "ID"
quindi vorrei fare una query dentro Form2 passandogli come criterio SQL il famoso ID appunto.

Spero di essermi spigato.
Ciao
Maurizio

123456 Profilo | Newbie

Scusa...ho riletto meglio il tuo post...

cmq dalla listview seleziono il record va meglio così

Brainkiller Profilo | Guru

Si ora ho capito.
Allora generalmente io procedo così.
La Form2 è una classica classe, aggiungo un nuovo costruttore che accetta in entrata un parametro (nel tuo caso ID).
Dentro il costruttore nuovo faccio la chiamata ad una routine che conterrà il codice che effettuerà la query sul database e riempirà i campi usando il valore ID eventualmente nella clausola Where in modo da filtrare i risultati.

Quando instanzi la classe di Form2 quindi passi il valore che recuperie dalla listview:

int parametro=3; //parametro che recuperi dalla listview)
Form2 f=new Form2(parametro);

ciao
david

123456 Profilo | Newbie

int parametro=3; //parametro che recuperi dalla listview)
Form2 f=new Form2(parametro);

si...ci provo ma non so se ho capito bene
il parametro viene recuperato nella form1

ciao
Maurizio

Brainkiller Profilo | Guru

Sì maurizio certamente.
Nell'esempio io l'ho assegnato manualmente, il valore 3.
Tu gli assegni il valore proveniente dalla listview o da un tuo controllo tipo:

int parametro=int.Parse(TextBox1.Text)

Successivamente crei un costruttore nuovo nella form 2 che accetti il parametro, crei l'istanza con la new e lo passi.

ciao
david

123456 Profilo | Newbie

ciao david,

sono riuscito!
grazie a te ho capito questo concetto...grazie ancora

ciao
maurizio
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5