Showing posts with label Aplikasi Windows. Show all posts
Showing posts with label Aplikasi Windows. Show all posts

Thursday, January 19, 2023

NET. MAUI LOGIN SHELL APPS NAVIGATION

kali ini saya akan memberikan source code untuk membuat navigasi login net. maui, langsungsaja, berikut tampilan login:


 
berikut tampilan setelah login

berikut tampilan dashboard
berikut tampilan navigasi.

untuk source codenya sebagai berikut;
file App.xaml

<?xml version = "1.0" encoding = "UTF-8" ?>
<Application xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:local="clr-namespace:My_Template"
             x:Class="My_Template.App" UserAppTheme="Light">
    <Application.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="Resources/Styles/Colors.xaml" />
                <ResourceDictionary Source="Resources/Styles/Styles.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Application.Resources>
</Application>

file App.xaml.cs

namespace My_Template;
#if WINDOWS
using Microsoft.UI;
using Microsoft.UI.Windowing;
using Windows.Graphics;
#endif
public partial class App : Application
{
    const int WindowWidth = 500;
    const int WindowHeight = 800;
    public App()
	{
		InitializeComponent();
        Microsoft.Maui.Handlers.WindowHandler.Mapper.AppendToMapping(nameof(IWindow), (handler, view) =>
        {
#if WINDOWS
            var mauiWindow = handler.VirtualView;
            var nativeWindow = handler.PlatformView;
            nativeWindow.Activate();
            IntPtr windowHandle = WinRT.Interop.WindowNative.GetWindowHandle(nativeWindow);
            WindowId windowId = Microsoft.UI.Win32Interop.GetWindowIdFromWindow(windowHandle);
            AppWindow appWindow = Microsoft.UI.Windowing.AppWindow.GetFromWindowId(windowId);
            appWindow.Resize(new SizeInt32(WindowWidth, WindowHeight));
#endif
        });
        MainPage = new AppShell();
	}
}
file AppShell.xaml

<?xml version="1.0" encoding="UTF-8" ?>
<Shell
    x:Class="My_Template.AppShell"
    xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    xmlns:local="clr-namespace:My_Template"
    Shell.FlyoutBehavior="Disabled" >

    <Shell.TabBarIsVisible>false</Shell.TabBarIsVisible>
    <Shell.FlyoutBackgroundColor>#E1E1E1</Shell.FlyoutBackgroundColor>
    <ShellContent
        Title="Login"     
        Shell.FlyoutItemIsVisible="False"   
        ContentTemplate="{DataTemplate local:LoginPage}"
        Route="LoginPage" />

    <FlyoutItem 
        Title="App" 
        Route="App" 
        FlyoutDisplayOptions="AsMultipleItems">

        <ShellContent
            Title="Main"
            Icon="dotnet_bot.png"
            ContentTemplate="{DataTemplate local:MainPage}"
            Route="MainPage" />

        <ShellContent
            Title="About"
            Icon="dotnet_bot.png"
            ContentTemplate="{DataTemplate local:AboutPage}"
            Route="AboutPage" />

    </FlyoutItem>
    <Shell.FlyoutFooter>
        <StackLayout Padding="10,10,10,10">
            <Button Text="Log Out" Clicked="Logout_Click"/>
        </StackLayout>
        
    </Shell.FlyoutFooter>
</Shell>


file AppShell.xaml.cs

namespace My_Template;

public partial class AppShell : Shell
{
	public AppShell()
	{
		InitializeComponent();
	}

    private void Logout_Click(object sender, EventArgs e)
    {
        Shell.Current.FlyoutBehavior = FlyoutBehavior.Disabled;
        Shell.Current.GoToAsync("//LoginPage");
    }
}
file LoginPage.xaml

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="My_Template.LoginPage"
             Title="LoginPage">
    <Shell.TabBarIsVisible>false</Shell.TabBarIsVisible>
    <Shell.NavBarIsVisible>false</Shell.NavBarIsVisible>
    <Shell.FlyoutBehavior>Disabled</Shell.FlyoutBehavior>

    <ScrollView>

        <VerticalStackLayout
                Spacing="15"
                Padding="10,10,10,10" Margin="10,10,10,10" WidthRequest="300"
                VerticalOptions="Center">

            <StackLayout Padding="0,0,0,40">
                <Image
                    Source="dotnet_bot.png"
                    SemanticProperties.Description="Cute dot net bot waving hi to you!"
                    HeightRequest="150"
                    HorizontalOptions="Center" />
                <Label Text="silahkan login" HorizontalOptions="Center" Padding="0,20,0,20" FontSize="Medium"/>
            </StackLayout>

            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*" />
                    <ColumnDefinition Width="Auto" />

                </Grid.ColumnDefinitions>
                <Border Stroke="#003434"
                    StrokeThickness="1"
                    StrokeShape="RoundRectangle 3,3,3,3"
>
                    <Entry  Placeholder="IP" Text="192.168.4.1" FontSize="Small" FontAttributes="Bold"/>

                </Border>

                <Border Stroke="#003434" StrokeThickness="1" StrokeShape="RoundRectangle 3,3,3,3" Grid.Column="1" Margin="10,0,0,0" >
                    <Entry  Placeholder="Port" Text="8728" VerticalTextAlignment="Center" Keyboard="Numeric" FontSize="Small" FontAttributes="Bold"/>
                </Border>

            </Grid>
            <Border Stroke="#003434"
                    StrokeThickness="1"
                    StrokeShape="RoundRectangle 3,3,3,3"
                    Padding="0,0,0,0">
                <Entry  Placeholder="Username" Text="admin" FontSize="Small" FontAttributes="Bold"/>
            </Border>
            <Border Stroke="#003434"
                    StrokeThickness="1"
                    StrokeShape="RoundRectangle 3,3,3,3"
                    Padding="0,0,0,0">
                <Entry  Placeholder="Password" Text="abumusa123" IsPassword="True" FontSize="Small" FontAttributes="Bold"/>
            </Border>
            <Button Text="Login" Clicked="Login_Click" HeightRequest="50"/>

        </VerticalStackLayout>

    </ScrollView>
</ContentPage>

file LoginPage.xaml.cs

namespace My_Template;

public partial class LoginPage : ContentPage
{
	public LoginPage()
	{
		InitializeComponent();
	}

    private void Login_Click(object sender, EventArgs e)
    {
        Shell.Current.FlyoutBehavior = FlyoutBehavior.Flyout;
        Shell.Current.GoToAsync("//App/MainPage");
    }
}

 file MainPage.xaml


<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="My_Template.MainPage">

    <ScrollView>
        <VerticalStackLayout
            Spacing="25"
            Padding="30,0"
            VerticalOptions="Center">

            <Image
                Source="dotnet_bot.png"
                SemanticProperties.Description="Cute dot net bot waving hi to you!"
                HeightRequest="200"
                HorizontalOptions="Center" />

            <Label
                Text="Hello, World!"
                SemanticProperties.HeadingLevel="Level1"
                FontSize="32"
                HorizontalOptions="Center" />

            <Label
                Text="Welcome to .NET Multi-platform App UI"
                SemanticProperties.HeadingLevel="Level2"
                SemanticProperties.Description="Welcome to dot net Multi platform App U I"
                FontSize="18"
                HorizontalOptions="Center" />

            <Button
                x:Name="CounterBtn"
                Text="Click me"
                SemanticProperties.Hint="Counts the number of times you click"
                Clicked="OnCounterClicked"
                HorizontalOptions="Center" />

        </VerticalStackLayout>
    </ScrollView>

</ContentPage>

 
file MainPage.xaml.cs

namespace My_Template;

public partial class MainPage : ContentPage
{
	int count = 0;

	public MainPage()
	{
		InitializeComponent();
	}

	private void OnCounterClicked(object sender, EventArgs e)
	{
		count++;

		if (count == 1)
			CounterBtn.Text = $"Clicked {count} time";
		else
			CounterBtn.Text = $"Clicked {count} times";

		SemanticScreenReader.Announce(CounterBtn.Text);
	}
}



 file AboutPage.xaml


<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="My_Template.AboutPage"
             Title="AboutPage">
    <VerticalStackLayout>
        <Label 
            Text="Welcome to .NET MAUI!"
            VerticalOptions="Center" 
            HorizontalOptions="Center" />
    </VerticalStackLayout>
</ContentPage>

file AboutPage.xaml.cs

namespace My_Template;

public partial class AboutPage : ContentPage
{
	public AboutPage()
	{
		InitializeComponent();
	}
}


jalankan f5


Saturday, July 3, 2021

Thursday, April 13, 2017

IDM (Internet Download Manager) Akan Rusak Jika Anda Melakukan Hal Berikut.!!!

Selamat berjumpa kembali, kali ini abang akan memberikan tips tentang aplikasi internet download manager yang kerap sekali minta aktivasi alias tidak dapat digunakan ataupun rusak.

Aplikasi internet download manager merupakan aplikasi download terbaik saat ini, aplikasi download manager ini mampu membuat koneksi atau sambungan download menjadi beberapa bagian, versi terbaru dari aplikasi ini adalah versi 6.28 yang mana pada versi ini sudah support lebih dari 32 koneksi, bayangkan saja saat sobat download, si aplikasi internet download manager ini memecah file download menjadi 32 bagian, kalau koneksi sobat blogger cepat, ditambah pemecahan file menjadi banyak, pasti download sobat menjadi lebih cepat. Selain itu kemampuan internet download manager adalah bisa meneruskan download yang terputus ataupun diputus.

Meskipun internet download manager hanya support pada sistem windows baik platform x86 maupun platform x64, namun tidak mengurangi pengguna aplikasi ini, kalau dicek sih, masih terlalu banyak pengguna sistem operasi windows.

Namun sayangnya banyak pengguna internet download manager mengeluh karena beberapa saat setelah penggunaan, internet download manager biasanya tidak dapat digunakan, hal ini terjadi karena beberapa faktor, antara lain yakni sobat secara sadar atau tidak atau malah disaat laptop sobat dipinjam, sobat mengklik tombol “update now” pada saat muncul tampilan seperti dibawah ini;

clip_image001

Oleh karenanya, jika muncul tampilan seperti diatas, silahkan sobat langsung saja klik tombol “cancel” atau batal.

Jika sobat terlanjur mengklik tombol Update now, saran abang adalah sobat langsung saja meng-unistall aplikasi internet download manager sobat, karena abang jamin, sobat bakalan terganggu aktivitas downloadnnya disaat ingin mendownload file, si internet download manager yang seharusnya tampil tambilan start download, malah keluar tampilan registrasi.!!!

Sekian dulu postingan ini, jangan lupa share dan komen, agar blog ini semakin maju dan bisa lebih baik lagi.

Terimakasih.

Bersihkan virus tampa antivirus..!!! work 100%

Hi, Sobat blogger, kali ini abang akan memberikan tutorial atau trik menghadapi virus exe seperti tampilan dibawah ini:

Biasanya virus ini menjangkit dan beroperasi pada media penyimpanan portable, baik lewat autorun.exe maupun kesalahan Karena mambuka virus tersebut oleh client atau pengguna, tapi abang tidak menyalahkan pengguna lho ya, Karena virus ini m,emiliki gambar atau ikon yang persisi dengan dokumen yang akan sobat bloger buka.

image

Langsung saja, silahkan sobat blogger buka windows explore, boleh menggunakan tombol Windows + E, atau juaga mengklik kanan tombol start kemudian klik explore, dan akhirnya tampilannya akan seperti dibawah ini:

image

Klik+tekan tombol shift pada ikon flashdisk yang terdapat (di bagian kiri list disk) sobat yang terjangkit virus(klik+shift berfungsi untuk mematikan sementara fungsi autorun windows ketika membuka suatu drive), seperti gambar berikut ini:

image

kemudian, sobat klik pada searchbar yang terletak di kanan atas laya windows explore sobat, dan ketik *.exe, trik ini bertujuan agar memunculkan semua file ber-ekstensi exe, yang mana file dengan extensi inilah yang kita sebut dengan virus, seperti gambar berikut ini:

image

Untuk mempermudah identifikasi nama file yang terjangkit virus, silahkan sobat blogger mengubah tampilan yang semula bertampilan title, ubah tampilan explore sobat menjadi detail, nantinya tampilan detail ini akan membantu untuk mengurutkan file berdasarkan exe(file type) dan ukuran file, lebih jelasnya perhatikan tampilan dibawah ini:

image

Kalau sudah sobat urutkan, tinggal sobat perhatikan file yang memiliki Type dan size yang sama, sudah bisa abang pastikan kalau itulah virus yang sobat incar, berhati-hatilah saat memilih atau menyeleksi file yang sobat ingin hapus, aga file yang sobat anggap terbuka tidak salah klik yang berakibat file tersebut bukan dipilih, melainkan malahan dijalankan, seperti gambar berikut ini:

image

Jika semua langkah diatas sudah sobat lakukan, tinggal sobat blogger tekan tombol delete yang ada di keyboard, atau juga bisa menggunakan klik kanan pada daftar file yang telah dipilih kemudian klik atau pilih delete seperti gambar dibawah ini:

image

Jangan lupa sobat klik tombol yes saat sobat ditanya atau konfirmasi penghapusan file;

Tunggulah proses penghapusan sampai selesai, proses ini bisa memakan banyak waktu jika flashdisk sobat berukuran besar dan berisi banyak file didalamnya.

Sekian dulu postingan ini, jangan lupa share dan komen, agar blog ini semakin maju dan bisa lebih baik lagi.

Terimakasih.

Monday, January 2, 2017

Download Visual FoxPro 9

Kali ini abang akan memberikan aplikasi besutan Microsoft yakni Microsoft Visual Foxpro, Visual FoxPro adalah bahasa pemrograman berorientasi objek dan prosedural dari Microsoft. Awalnya bahasa pemrograman ini dikenal dengan nama FoxBASE yang diluncurkan oleh Fox Software pada awal 1984. Fox Technologies kemudian bergabung dengan Microsoft pada 1992 sehingga di depan nama FoxBASE ditambahkan awalan "Visual".