AIDE .NET

NativeUI C# (Comment ça marche pour les développeurs)

NativeUI est un cadre essentiel pour les développeurs C# dans la communauté de modding de Grand Theft Auto (GTA). Il simplifie la création d'un système de menus imbriqués et de bannières personnalisées, ce qui en fait l'un des favoris des moddeurs de GTA pour son approche conviviale et ses résolutions d'écran. Native UI MOD est conçu pour créer des menus rapides, similaires à ceux de Rockstar, en reproduisant le style et la réactivité des menus imbriqués faciles que l'on trouve dans les jeux Grand Theft Auto (GTA). Dans ce tutoriel, nous comprendrons ce qu'est NativeUI et comment nous pouvons l'intégrer avec IronPDF.

Les bases de NativeUI

NativeUI excelle dans la création de menus imbriqués, une aubaine pour les moddeurs qui souhaitent construire des interfaces sophistiquées sans avoir de code complexe pour les rappels basés sur des événements et les descriptions d'éléments. Il s'adapte également à différentes résolutions d'écran, ce qui garantit que les menus sont visuellement attrayants sur différents écrans et dans de nombreuses anciennes versions. L'une des forces de NativeUI est son système de menus imbriqués, qui permet aux développeurs de créer des structures de menus complexes avec des boutons d'instruction personnalisés sans effort. Pour les débutants, la documentation de NativeUI sur son wiki est une ressource précieuse, fournissant des conseils étape par étape pour la création de menus et de versions flottantes.

Configuration de NativeUI dans Visual Studio

L'installation initiale dans Visual Studio implique le téléchargement de la bibliothèque NativeUI et l'incorporation du fichier .dll dans votre projet de modélisation. La bibliothèque NativeUI est un paquetage publié, disponible dans les dépôts C# les plus courants, ce qui la rend facilement accessible pour l'intégrer dans votre projet. L'installation est simple. Lors de la mise en place de NativeUI, assurez-vous que des versions compatibles flottent entre votre environnement de développement et la bibliothèque NativeUI afin d'obtenir des performances optimales.

NativeUI C# (Comment cela fonctionne pour les développeurs) : Figure 1 - NativeUI

Création de votre premier menu

Créer votre premier menu avec NativeUI est une étape passionnante. La conception de la bibliothèque est axée sur la facilité d'utilisation, ce qui vous permet d'ajouter des descriptions d'articles, des boutons simples et même des bannières personnalisées sans trop de difficultés. Pour les débutants, il est conseillé de commencer par un script de base et d'ajouter progressivement des fonctionnalités plus complexes au fur et à mesure que vous vous familiarisez avec le cadre. Voici un exemple simple de création d'un menu de base avec ses propres textures :

using NativeUI;
public class YourFirstMenu : Script
{
    private MenuPool _menuPool;
    private UIMenu mainMenu;
    public YourFirstMenu()
    {
        _menuPool = new MenuPool();
        var mainMenu = new UIMenu("NativeUI", "SELECT AN OPTION");
        _menuPool.Add(mainMenu);
        AddMenuItems(mainMenu);
        _menuPool.RefreshIndex();
//mouse controls
        Tick += OnTick;
        KeyDown += OnKeyDown;
    }
    private void AddMenuItems(UIMenu menu)
    {
        var item1 = new UIMenuItem("Item 1", "Description for Item 1");
        menu.AddItem(item1);
        menu.OnItemSelect += (sender, item, index) =>
        {
            if (item == item1)
            {
                // Do something when Item 1 is selected
            }
        };
    }
    private void OnTick(object sender, EventArgs e)
    {
        _menuPool.ProcessMenus();
    }
    private void OnKeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.F5 && !_menuPool.IsAnyMenuOpen()) // Our menu on/off switch
            mainMenu.Visible = !mainMenu.Visible;
    }
}
using NativeUI;
public class YourFirstMenu : Script
{
    private MenuPool _menuPool;
    private UIMenu mainMenu;
    public YourFirstMenu()
    {
        _menuPool = new MenuPool();
        var mainMenu = new UIMenu("NativeUI", "SELECT AN OPTION");
        _menuPool.Add(mainMenu);
        AddMenuItems(mainMenu);
        _menuPool.RefreshIndex();
//mouse controls
        Tick += OnTick;
        KeyDown += OnKeyDown;
    }
    private void AddMenuItems(UIMenu menu)
    {
        var item1 = new UIMenuItem("Item 1", "Description for Item 1");
        menu.AddItem(item1);
        menu.OnItemSelect += (sender, item, index) =>
        {
            if (item == item1)
            {
                // Do something when Item 1 is selected
            }
        };
    }
    private void OnTick(object sender, EventArgs e)
    {
        _menuPool.ProcessMenus();
    }
    private void OnKeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.F5 && !_menuPool.IsAnyMenuOpen()) // Our menu on/off switch
            mainMenu.Visible = !mainMenu.Visible;
    }
}
Imports NativeUI
Public Class YourFirstMenu
	Inherits Script

	Private _menuPool As MenuPool
	Private mainMenu As UIMenu
	Public Sub New()
		_menuPool = New MenuPool()
		Dim mainMenu = New UIMenu("NativeUI", "SELECT AN OPTION")
		_menuPool.Add(mainMenu)
		AddMenuItems(mainMenu)
		_menuPool.RefreshIndex()
'mouse controls
		AddHandler Me.Tick, AddressOf OnTick
		AddHandler Me.KeyDown, AddressOf OnKeyDown
	End Sub
	Private Sub AddMenuItems(ByVal menu As UIMenu)
		Dim item1 = New UIMenuItem("Item 1", "Description for Item 1")
		menu.AddItem(item1)
		AddHandler menu.OnItemSelect, Sub(sender, item, index)
			If item = item1 Then
				' Do something when Item 1 is selected
			End If
		End Sub
	End Sub
	Private Sub OnTick(ByVal sender As Object, ByVal e As EventArgs)
		_menuPool.ProcessMenus()
	End Sub
	Private Sub OnKeyDown(ByVal sender As Object, ByVal e As KeyEventArgs)
		If e.KeyCode = Keys.F5 AndAlso Not _menuPool.IsAnyMenuOpen() Then ' Our menu on/off switch
			mainMenu.Visible = Not mainMenu.Visible
		End If
	End Sub
End Class
$vbLabelText   $csharpLabel

Ce script met en place un menu de base avec un seul élément et gère sa sélection. NativeUI utilise des rappels basés sur des événements, ce qui signifie que les actions dans vos menus déclencheront des événements spécifiques, rendant votre interface utilisateur interactive et réactive.

Améliorer l'interaction avec l'utilisateur

Un aspect essentiel de NativeUI est sa capacité à créer des menus à la fois fonctionnels et conviviaux. La bibliothèque prend en charge les contrôles de la souris. En plus des contrôles à la souris, NativeUI offre une prise en charge complète des contrôleurs, ce qui permet de naviguer facilement dans les menus à l'aide des contrôleurs de jeu. Vous pouvez encore améliorer l'interaction avec l'utilisateur en ajoutant des boutons d'instruction personnalisés, qui guident les utilisateurs à travers les options du menu et le support du contrôleur.

Personnalisation des menus

NativeUI permet un haut degré de personnalisation. Vous pouvez décorer vos menus avec vos propres textures et des bannières personnalisées, ce qui leur donne un aspect unique qui se démarque. L'ajout de ces touches personnelles ne rend pas seulement vos menus plus attrayants sur le plan visuel, mais crée également une expérience plus immersive pour les utilisateurs.

private void CustomizeMenu(UIMenu menu)
{
    menu.SetBannerType("texture.png"); // Custom banner texture
    menu.ChangeItemColour("Item 1", System.Drawing.Color.FromArgb(255, 0, 0)); // Red color for Item 1
}
private void CustomizeMenu(UIMenu menu)
{
    menu.SetBannerType("texture.png"); // Custom banner texture
    menu.ChangeItemColour("Item 1", System.Drawing.Color.FromArgb(255, 0, 0)); // Red color for Item 1
}
Private Sub CustomizeMenu(ByVal menu As UIMenu)
	menu.SetBannerType("texture.png") ' Custom banner texture
	menu.ChangeItemColour("Item 1", System.Drawing.Color.FromArgb(255, 0, 0)) ' Red color for Item 1
End Sub
$vbLabelText   $csharpLabel

IronPDF : C&num ; Bibliothèque PDF

NativeUI C# (Comment ça fonctionne pour les développeurs) : Figure 2 - IronPDF

IronPDF est une bibliothèque complète en .NET pour travailler avec des fichiers PDF. Il permet aux développeurs de créer de nouveaux PDF, de modifier ceux existants et de convertir HTML en PDF, en faisant une bibliothèque nécessaire pour toute application C# qui doit gérer des documents PDF.

Mise en œuvre d'IronPDF dans une application NativeUI

L'intégration d'IronPDF dans un projet C# avec NativeUI nécessite l'ajout du package IronPDF à votre projet Visual Studio. Cela peut se faire facilement via le gestionnaire de paquets NuGet dans Visual Studio. Une fois la configuration établie, vous pouvez utiliser les fonctionnalités d'IronPDF en même temps que les éléments d'interface utilisateur créés avec NativeUI.

Prenons l'exemple d'une application dans laquelle vous devez générer un rapport sur la base des données saisies par l'utilisateur dans une interface NativeUI. Voici comment vous pouvez y parvenir en utilisant IronPDF :

using IronPdf;
using NativeUI;
public class ReportGenerator
{
    private MenuPool _menuPool;
    private UIMenu mainMenu;
    public ReportGenerator()
    {
        _menuPool = new MenuPool();
        mainMenu = new UIMenu("Report Generator", "SELECT AN OPTION");
        _menuPool.Add(mainMenu);
        AddPdfGenerationOption(mainMenu);
        _menuPool.RefreshIndex();
        // Event handlers for menu
    }
    private void AddPdfGenerationOption(UIMenu menu)
    {
        var generateReportItem = new UIMenuItem("Generate Report", "Create a PDF report");
        menu.AddItem(generateReportItem);
        menu.OnItemSelect += (sender, item, index) =>
        {
            if (item == generateReportItem)
            {
                CreatePdfReport();
            }
        };
    }
    private void CreatePdfReport()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Report</h1><p>Report details...</p>");
        pdf.SaveAs("Report.pdf");
        // Notify user that the PDF report has been generated
    }
}
using IronPdf;
using NativeUI;
public class ReportGenerator
{
    private MenuPool _menuPool;
    private UIMenu mainMenu;
    public ReportGenerator()
    {
        _menuPool = new MenuPool();
        mainMenu = new UIMenu("Report Generator", "SELECT AN OPTION");
        _menuPool.Add(mainMenu);
        AddPdfGenerationOption(mainMenu);
        _menuPool.RefreshIndex();
        // Event handlers for menu
    }
    private void AddPdfGenerationOption(UIMenu menu)
    {
        var generateReportItem = new UIMenuItem("Generate Report", "Create a PDF report");
        menu.AddItem(generateReportItem);
        menu.OnItemSelect += (sender, item, index) =>
        {
            if (item == generateReportItem)
            {
                CreatePdfReport();
            }
        };
    }
    private void CreatePdfReport()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Report</h1><p>Report details...</p>");
        pdf.SaveAs("Report.pdf");
        // Notify user that the PDF report has been generated
    }
}
Imports IronPdf
Imports NativeUI
Public Class ReportGenerator
	Private _menuPool As MenuPool
	Private mainMenu As UIMenu
	Public Sub New()
		_menuPool = New MenuPool()
		mainMenu = New UIMenu("Report Generator", "SELECT AN OPTION")
		_menuPool.Add(mainMenu)
		AddPdfGenerationOption(mainMenu)
		_menuPool.RefreshIndex()
		' Event handlers for menu
	End Sub
	Private Sub AddPdfGenerationOption(ByVal menu As UIMenu)
		Dim generateReportItem = New UIMenuItem("Generate Report", "Create a PDF report")
		menu.AddItem(generateReportItem)
		AddHandler menu.OnItemSelect, Sub(sender, item, index)
			If item = generateReportItem Then
				CreatePdfReport()
			End If
		End Sub
	End Sub
	Private Sub CreatePdfReport()
		Dim renderer = New ChromePdfRenderer()
		Dim pdf = renderer.RenderHtmlAsPdf("<h1>Report</h1><p>Report details...</p>")
		pdf.SaveAs("Report.pdf")
		' Notify user that the PDF report has been generated
	End Sub
End Class
$vbLabelText   $csharpLabel

Conclusion

NativeUI C# (Comment ça fonctionne pour les développeurs) : Figure 3 - Licence

L'intégration d'IronPDF à NativeUI dans les applications C# est une combinaison puissante qui peut améliorer considérablement la fonctionnalité et l'expérience de l'utilisateur. Qu'il s'agisse de créer des rapports d'activité, des outils éducatifs ou des formulaires de données complets, cette combinaison offre une plateforme robuste permettant aux développeurs de créer des applications sophistiquées et de haute qualité. Avec de la créativité et une mise en œuvre réfléchie, les applications potentielles de cette intégration sont vastes et diverses.

Commencez avec l'essai gratuit d'IronPDF et explorez tout son potentiel. Lorsque vous êtes prêt à vous engager, les licences commencent à seulement $749 - un petit prix pour des capacités aussi puissantes !

Chaknith Bin
Ingénieur logiciel
Chaknith travaille sur IronXL et IronBarcode. Il possède une expertise approfondie en C# et .NET, aidant à améliorer le logiciel et à soutenir les clients. Ses idées issues des interactions avec les utilisateurs contribuent à de meilleurs produits, une documentation améliorée et une expérience globale enrichie.
< PRÉCÉDENT
Mot-clé virtuel C# (comment il fonctionne pour les développeurs)
SUIVANT >
C# PostgreSQL (Comment ça marche pour les développeurs)