Imprimer et Exporter vers USB (Format de fichier: XML / CSV / Excel) Fonctionnalité dans Smart Device [Symbol Motorola MC75 (Windows Mobile 6.1)] l'application?

StackOverflow https://stackoverflow.com/questions/7817689

Question

J'ai une forme qui contient des zones de liste déroulante, et textboxes une grille de données avec de nombreuses lignes. Je veux prendre imprimer (avec code à barres généré [code-barres de l'application de production comme image]) et que vous souhaitez également exporter les données dans cette page au format CSV / XML / Excel vers USB ou d'un répertoire physique du téléphone. S'il vous plaît me guider comment elle. Ceci est ma première application Windows Mobile. Je ne suis pas si sage dans Windows Mobile. S'il vous plaît aidez-moi à trouver une meilleure solution comme un code ou d'un lien ou tout simplement moi directement.

Était-ce utile?

La solution

Pour créer l'impression Out, vous devrez écrire à votre PrintDocument en utilisant GDI. Il n'y a rien vraiment construit. Vous pourriez peut-être faire une capture d'écran (code ci-dessous).

Exporter des données au format CSV est préférable de faire votre propre bien. Il suffit de créer / Ouvrir un flux de fichiers et d'écrire tout ce que vous voulez le.

Capture d'écran: Nécessite PInvoke à BitBlt et GetDC

const int SRCCOPY = 0x00CC0020;

[DllImport("coredll.dll")]
private static extern int BitBlt(IntPtr hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, IntPtr hdcSrc, int nXSrc, int nYSrc, uint dwRop);

[DllImport("coredll.dll")]
private static extern IntPtr GetDC(IntPtr hwnd);

public Bitmap ScreenCapture(string fileName) {
  Bitmap bitmap = new Bitmap(this.Width, this.Height);
  using (Graphics gScr = Graphics.FromHdc(GetDC(IntPtr.Zero))) { // A Zero Pointer will Get the screen context
    using (Graphics gBmp = Graphics.FromImage(bitmap)) { // Get the bitmap graphics
      BitBlt(gBmp.GetHdc(), 0, 0, this.Width, this.Height, gScr.GetHdc(), this.Left, this.Top, SRCCOPY); // Blit the image data
    }
  }
  bitmap.Save(fileName, ImageFormat.Png); //Saves the image
  return bitmap;
}

[Mise à jour]:

  • Si vous voulez que l'image enregistrée à un endroit particulier, envoyer le chemin complet avec le nom du fichier (à savoir \\Windows\Temp\screenShot.png).

  • Si vous voulez exclure les contrôles, réduire le this.Width, this.Height, this.Left et this.Right jusqu'à ce que vous avez la taille qui correspond à la région qui fonctionne.

  • Enfin, si vous voulez que le Bitmap à utiliser dans la mémoire, il suffit de l'enregistrer et l'utiliser au besoin. Exemple:

    panel1.Image = ScreenCapture ( "image.png"); panel1.BringToFront ();

L'espoir qui aide.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top