AIDE .NET

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

Publié avril 3, 2024
Partager:

NativeUI est un cadre essentiel pour les développeurs C# dans la série Grand Theft Auto(GTA) la communauté des moddeurs. 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, à la Rockstar, reprenant le style et la réactivité des menus imbriqués faciles que l'on trouve dans Grand Theft Auto(GTA) jeux. Dans ce tutoriel, nous allons comprendre ce qu'est NativeUI et comment nous pouvons l'intégrerIronPDF avec elle.

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 ça marche 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
VB   C#

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
VB   C#

IronPDF : C&num ; Bibliothèque PDF

NativeUI C#(Comment ça marche 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 des PDF existants et de les convertirHTML vers PDFce qui en fait 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
VB   C#

Conclusion

NativeUI C#(Comment ça marche 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 la solution IronPDFessai gratuit et d'explorer tout son potentiel. Lorsque vous êtes prêt à vous engager, les licences commencent à partir de $749 - un petit prix pour des capacités aussi puissantes!

< PRÉCÉDENT
Mot-clé virtuel C# (comment il fonctionne pour les développeurs)
SUIVANT >
C# PostgreSQL (Comment ça marche pour les développeurs)