come posso centrare una finestra sullo schermo in c #?
<p>ho bisogno di un modo per centrare la finestra corrente. ad esempio, se un utente preme un pulsante, voglio che la finestra si concentri sullo schermo. so che è possibile utilizzare la proprietà di avvio, ma non riesco a capire un modo per usarlo diverso da quando l'applicazione si avvia per la prima volta. quindi come posso centrare il modulo sullo schermo?</p>
<p>utilizzare <a href="https://msdn.microsoft.com/en-us/library/system.windows.forms.form.centertoscreen.aspx">form.centertoscreen ()</a> metodo.</p>
<p>non confondere i tuoi utenti, usa l'interfaccia utente in stile mac su un mac e l'interfaccia utente in stile windows su windows.</p><p>il problema di avere fogli di dialogo su windows è che alcune persone non hanno alcuna esperienza sui mac e non si preoccupano dei widget dell'interfaccia utente su altre piattaforme, quindi il foglio di dialogo nella tua applicazione sarà completamente nuovo per loro - e probabilmente essere un po 'confuso e leggermente infastidito (anche se i fogli di dialogo sono effettivamente superiori alle normali finestre di dialogo - e non sono sicuro che lo siano).</p><p>a proposito, è possibile avere finestre di dialogo che sono modello solo per la finestra principale e non per l'intera app su windows - ma penso che avere questa sia anche una cattiva idea per lo stesso motivo.</p> 1)per inizializzare un array ci sono due modi, il primo in maniera costante mettendo i valori tra due graffe separati da una virgola

int vett[3]={1,2,3};

il secondo è quello di accedere alle singole locazioni e inizializzarle come fosse una qualsiasi variabile fondamentale immettendo i dati da tastiera(o con una qualche funzione o artificio per dare i giusti valori alle celle)

int vett[3];
for(int a=0;a<3;a++)
cin>>vett[a];

puoi renderlo anche automatico come hai fatto te, inserendo la lunghezza da tastiera(se a lunghezza variabile)
ricorda che se un vettore ha dimensione n ha n-1 celle(ne ha n però è compreso lo zero quindi l'ultima cella stà in posizione n-1, se guardi il ciclo for qui sopra ho inserito la condizione finchè a<3 non a<=3)

2)per stampare i valori basta che accedi alle celle del vettore come hai fatto per l'inizializzazione, ricorda che un vettore non sono altro che una serie di variabili a cui accedi con un indice int vett[3] è equivalente ad avere 3 variabili int, e come tale ti comporti, se le vuoi mostrare a video devi usare la funzione cout per tutte le celle(puoi anche usare solo il nome del vettore e il cout ti dà tutto il contenuto del vettore ma ha bisogno di condizioni più restrittive)

for(int a=0;a<3;a++)
cout<<vett[a]<<' ';
cout<<endl;

cout<<vett<<endl;//qui non sono compresi spazi tra i valori(molto utile per le stringhe)

per farci delle operazioni vale la stessa cosa che ho detto prima è come lavorare con normalissime variabili solo che ci accedi con un indice quindi ti devicomportare di conseguenza


eccoil programma:

#include <iostream>
using namespace std;
int main(){
int n;
int media(0);
do{
cout<<"inserisci lunghezza vettore: ";
cin>>n;
if(n<0){
cout<<"dimensione errata"<<endl;
system("pause");
system("cls");
}
}while(n<0);
int vett[n];//alcuni ide non lo accettano in tal caso: int* vett=new int[n];
for(int a=0;a<n;a++){
cout<<"inserisci valore nella "<<a+1<<"* cella: ";
cin>>vett[a];
}
for(int a=0;a<n;a++){
cout<<a+1<<"* cella: "<<vett[a]<<endl;
media+=vett[a];
}
media/=n;
cout<<"media valori: "<<media<<endl;
system("pause");
return 0;
}



se qualcosa non è chiaro scrivi

********************
hai ragione anche te xd mi sono dimenticato di dividere per n, quella che ho fatto è solo la somma di tutti gli elementi, l'ho aggiustato per scrivere una parola in c1, nel mio esempio "maggiore", quando la somma di a1 e b1 è maggiore di 10 ti basta mettere in c1 la seguente formula:
=se(a1+b1>10; "maggiore"; a1+b1)

se vuoi cambiare lo sfondo o il testo della cella c1 puoi usare la formattazione condizionale in questo modo (excel 2003):
selezioni la cella c1
poi nel menu "formato" scegli "formattazione condizionale" e nei campi della condizione scegli:
- primo campo "il valore della cella è"
- secondo campo "maggiore di"
- terzo campo metti 10

poi selezioni il pulsante formato e nel dialogo che si apre selezioni la scheda motivo ed imposti il colore di sfondo desiderato. 
se vuoi cambiare il carattere od il bordo scegli le omonime schede e cambia gli attributi come desideri.
esci dai dialoghi con ok. prima lo compili. poi posizioni il foglio con il lato stampato rivolto verso il basso sulla lastra di vetro dello scanner (ci sono delle guide che ti aiutano a posizionarlo correttamente). schiacci il tasto "scan" o "acquisisci" o "invio" (dipende dal modello) oppure apri dal tuo computer il programma di scansione e fai partire l'operazione da lì. .
ecco come risolvere il problema;

1)
prendere il mouse dalla parte del cavo (ovviamente dopo averlo staccato dal pc).

2)
far girare il mouse nell'aria in senso antiorario (come fanno i cowboy nei film western).

3) aprire la finestra ed assicurarsi che non vi siano dei passanti nei paraggi.

4)
aumentare la velocità di roteazione del mouse il più possibile.

5)
lanciare il mouse il più lontano possibile dalla propria finestra. :-)

6...oppure compra un mouse nuovo...ciao

. È necessario eseguire un po 'di interoperabilità Win32 per ottenere questo effetto. A seconda che tu stia utilizzando Winforms o WPF, il modo in cui ti colleghi all'elaborazione dei messaggi è diverso (non ricordo Winforms, quindi fornirò tutti gli esempi per WPF). Ma in entrambi i casi, è necessario:


1. Intercettare la creazione della finestra e modificare gli stili di finestra e gli stili estesi. In WPF è necessario ereditare da [`HwndSource`](https://msdn.microsoft.com/en-us/library/system.windows.interop.hwndsource.aspx) e modificare lo [`HwndSourceParameters`](https://msdn.microsoft.com/en-us/library/system.windows.interop.hwndsourceparameters.aspx) per raggiungere questo obiettivo. Sono necessari WS\_OVERLAPPEDWINDOW, WS\_CLIPSIBLINGS e WS\_VISIBLE per gli stili estesi stile standard e WS\_EX\_WINDOWEDGE e WS\_EX\_APPWINDOW.
2. Aggiungere un gestore di messaggi tramite i parametri HwndSource HwndSourceHook.
3. Nel proc messaggio aggiunto attraverso il gancio nella fase due, è necessario elaborare diversi messaggi:


	* [`WM_NCACTIVATE`](https://msdn.microsoft.com/en-us/library/ms632633(VS.85).aspx) - per cambiare il quadro del titolo quando l'applicazione è attiva o meno
	* [`WM_NCCALCSIZE`](https://msdn.microsoft.com/en-us/library/ms632634(VS.85).aspx) - per tornare al sistema operativo che non si dispone di aree non-client
	* [`WM_NCPAINT`](https://msdn.microsoft.com/en-us/library/dd145212(VS.85).aspx) - in generale, è necessario invaldate rECT finestra solo qui, il WPF si prenderà cura della pittura reale)
	* [`WM_NCHITTEST`](https://msdn.microsoft.com/en-us/library/ms645618(VS.85).aspx) - per elaborare lo spostamento della finestra, riducendo al minimo e massimizzando.
4. Una volta eseguito quanto sopra, l'area client in cui WPF sta per dipingere l'albero visivo coprirà l'intera area della finestra. Sarà necessario aggiungere le immagini "non-cliet" in modo che l'applicazione assomigli a un'applicazione normale per l'utente.
5. Potrebbe essere necessario molti più messaggi:


	* [`WM_THEMECHANGED`](https://msdn.microsoft.com/en-us/ms632650.aspx) se si desidera modificare il "non-client" pittura zona di essere coerente con il tema del sistema operativo
	* [`WM_DWMCOMPOSITIONCHANGED`](https://msdn.microsoft.com/en-us/library/aa969230(VS.85).aspx) se si desidera estendere vetro e ottenere la verniciatura a vetro standard OS OS quando il vetro è abilitato e passare alla logica personalizzata quando il vetro non lo è.
6. Si potrebbe desiderare di guardare le API Win32 a tema se si vuole andare a prendere i beni Win32 standard per le frontiere, caption, stretta, mininmize e massimizzare i pulsanti da utilizzare nel settore 'non-client".
7. Se si desidera estendere Glass nella finestra, si può guardare:


	* [`DwmExtendFrameIntoClientArea`](https://msdn.microsoft.com/en-us/library/aa969512(VS.85).aspx) - per ottenere il vetro standard NC-zona
	* [`DwmDefWindowProc`](https://msdn.microsoft.com/en-us/library/aa969507(VS.85).aspx) - per ottenere il desktop manager per dipingere Vetro e i comandi NC standard
	* [`DwmIsCompositionEnabled`](https://msdn.microsoft.com/en-us/library/aa969518.aspx) - per determinare se Glass è abilitato; puoi utilizzare le due API precedenti solo quando Glass è abilitato. Se Glass non è abilitato, è necessario eseguire il proprio disegno dell'area NC.


Si possono trovare delle definizioni appropriate C# di tutti i messaggi, stili e corrispondenti API Win32 che vi serve sul [P/Invoke](http://pinvoke.net).


È inoltre possibile ottenere risultati simili utilizzando la finestra standard WPF con `WindowStyle=none`. Tuttavia, ci saranno alcune differenze tra il comportamento del desktop verso la tua app e altre app; il più ovvio è che non sarà possibile impilare o affiancare la finestra facendo clic con il tasto destro sulla barra delle applicazioni.


È anche possibile esaminare alcuni componenti di terze parti che abilitano alcune di queste funzionalità. Non ne ho usato nessuno (come potete vedere, non ho paura dell'interop di Win32 :-)), quindi non posso raccomandarvi alcun particolare. visualizza l'icone della barra delle notifiche, poi clic su Personalizza 
  
nella finestra che si apre fai clic su **Ripristino del comportamento predefinito delle icone** 
  
chiudi la sessione windows o riavvia il computer
  

  
[![](https://img-20.ccm2.net/h0ZsGBmkZg_aUN4R6Uhibgrj3pQ=/440x/275bcd0a981d42d4a3b35b41b951aac9/ccm-ugc/omportamento-predefinito-delle-icone.png)](https://img-20.ccm2.net/1lqnk9jiBbVkk8JLTZwlwOUd2vI=/275bcd0a981d42d4a3b35b41b951aac9/ccm-ugc/omportamento-predefinito-delle-icone.png)
  

  
~~# Per ogni problema... c'è una soluzione #~~ come scannerizzare?

a. colleghi il cavo dello scanner al pc
b. accendi lo scanner
c. in teoria se è uno scanner furbo dovrebbe essere già visto dal pc
d. se ti domanda i driver inserisci nel pc il cd dei driver dello scanner e segui le istruzioni a video (che in teoria dovrebbero essere chiare e a prova di stupido)
e. ad installazione conclusa avvii il programma di scansione dello scanner
f. apri lo sportello dello scanner ed inserisci la prima foto (con la faccia della foto rivolta verso il basso,
ovvero verso lo "specchio" dello scanner)
g. dal software di scansione premi anteprima per avere un anteprima della scansione da eseguire
h. se l'anteprima non ti soddisfa, metti bene la foto come meglio credi
i. se l'anteprima è ok premi su scansiona (o tasto similare) per scansionare effettivamente la foto e la salvi in un percorso a te congeniale
j. ripeti le operazioni sopra, dai punti 7 a 10, per le altre foto
mfg innanzitutto, io ora mi chiedo come è possibile che secondo la tua immaginazione un file di c4d, perciò un programma di modellazione/architettura 3d riesca ad essere letto da un lettore multimediale.

magari se fai un render, e lo renderizzi con tutti keyframes (fotogrammi chiave) che servono a gestire i "cambiamenti" di qualsiasi oggetto su una timeline, esportandolo come filmato avi o quicktime, possiamo dire che abbiamo soddisfatto in parte la tua risposta, anche se non ci sarà mai un modo per far aprire a un lettore multimediale un file con delle dimensioni e altre cose non leggibili da quest'ultimo,
sarebbe come mettere un gioco della xbox in un lettore dvd e pretendere il funzionamento... per tastiera doppia intendi metà sulla sinistra e metà sulla destra dello schermo?mi pare di avere visto in un video che devi puntare le mani al centro della tastiera e poi fare due swipe contemporaneamente (uno con la mano destra e uno con la sinistra) verso i lati dello schermo...è un po' complicato da spiega re ma spero che tu abbia capito...:) e spero che sia giusto!!:)