Array
(
)

Como faz no C# para quem jah eh programador Delphi ?

Kristian
   - 23 mar 2009

ola, estou querendo entra no mundo .net C e gostaria de saber a respectiva sintax abaixo em C

if (sender is tform) then
tform(sender).showmodal
// o sender é somente uma variavel qualquer, e se a referencia for um tform, ele dar o showmodal,

outro abaixo, eh para identificar qualquer objeto derivado de tcustomform, pq, eu posso ter tform ou uma classe filha minha tformbase q o pai eh tform, entao eu consigo indetificar qualquer uma que venha do tcustomform...

if (sender is tcustomform) then
bla bla bla

valeu

Ara.es
   - 23 mar 2009

Para saber se um objeto é de uma classe, pode ser o is mesmo. ou então usar o gettype() do objecto e comparar com o typeof(classe).

Para chamar um formulario, voce pode chamar: frm.show() ou frm.showdialog();

Veja se isso lhe ajuda, qualquer coisa é só postar.

Kristian
   - 23 mar 2009

tentei fazer aki mais nao consegui olhe o meu exemplo abaixo

#Código
public void Show(Control control, int x, int y, int width, int height, PopupResizeMode resizeMode)
{
Size controlSize = control.Size;

InitializeHost(control);

m_dropDown.ResizeMode = resizeMode;
//preciso identificar o tipo de m_dropdown, porem nele eu posso passar //como referencia um usercontrol, grid, e agora to tentando implantar um //form
//eu mudei a linha abaixo ela nao existe no proj original
if ( m_dropDown is System.Windows.Forms.Form )
m_dropDown.Show(x, y, width, height);

control.Focus();
}


Ara.es
   - 24 mar 2009

Kristian, vc está chamando o show direto do m_dropDown, mas para isso ele tem que ser um Form com certeza. Mas vc disse que pode ter varios tipos de objetos, correto?? Portanto esse objeto m_dropDown, deveria ser de um tipo generico para os tipos que vc deseja colocar nele, e quando for chamar alguma metodo vc precisa fazer o cast.

Por exemplo:
#Código
if ( m_dropDown is System.Windows.Forms.Form )
( m_dropDown as System.Windows.Forms.Form).Show(x, y, width, height);


lembrando que vc não precisa ter o caminho completo para System.Windows.Forms.Form; vc pode colocar o System.Windows.Forms no using do arquivo .cs

qualquer coisa é só postar. Flw !!!