首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Electron.Net应用程序中带有Asp.net或Blazor的自定义窗口(最小、最大、关闭按钮)

Electron.Net应用程序中带有Asp.net或Blazor的自定义窗口(最小、最大、关闭按钮)
EN

Stack Overflow用户
提问于 2021-12-31 17:28:53
回答 1查看 269关注 0票数 0

我已将我的Asp.Net核心/ Blazor应用程序转换为电子应用程序。但是我可以自定义NeedFrameless窗口

我用这个代码使它没有框架

代码语言:javascript
复制
 public async void Bootstrap()
    {
        var options = new BrowserWindowOptions
        {
            //Width = 1200,
            //Height = 600,
            //MinWidth = 940,
            //MinHeight = 560,
            Frame = false,

            WebPreferences = new WebPreferences
            {
                ContextIsolation = true,
                DevTools = true,
                WebSecurity = false,
            }
        };
        await Electron.WindowManager.CreateWindowAsync(options);
    }

现在我已经在这里创建了一个自定义Html文件

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>My Electron Frameless Window</title>
    <style>
        body {
            padding: 0px;
            margin: 0px;
        }

        #title-bar {
            -webkit-app-region: drag;
            height: 40px;
            text-align: center;
            line-height: 40px;
            vertical-align: middle;
            background-color: #B4C4C7;
            padding: none;
            margin: 0px;
        }

        #title {
            position: fixed;
            top: 0px;
            left: 6px;
            color: white;
        }

        #title-bar-btns {
            -webkit-app-region: no-drag;
            position: fixed;
            top: 0px;
            right: 6px;
        }
    </style>
</head>
<body>
    <div id="title-bar">
        <div id="title">
            <span style="vertical-align: middle;">Menu</span>
            Title Bar
        </div>
        <div id="title-bar-btns">
            <button id="min-btn">-</button>
            <button id="max-btn">+</button>
            <button id="close-btn">x</button>
        </div>
    </div>
    <div style="text-align:center;">
        <h4>Page Data Will Be Loaded Here</h4>

    </div>

</body>
</html>

,但我不知道如何向这些按钮中添加功能,请帮助我解决问题.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-08 13:17:08

然后使用ElectronNet 不管是从这里还是从努基特的最新版本

代码语言:javascript
复制
public async void Bootstrap()
{
    var options = new BrowserWindowOptions
    {
       
        Frame = false,

        WebPreferences = new WebPreferences
        {
            ContextIsolation = true,
            DevTools = false,
            WebSecurity = false,
            EnableRemoteModule = true
        }
    };
    await Electron.WindowManager.CreateWindowAsync(options);
}

然后在Layout.Cshtml中创建三个按钮

代码语言:javascript
复制
    <button id="minimize" onclick="minimizeWindow()">Min Window</button>
    <button id="maximize" onclick="maximizeWindow()">Max Window</button>
    <button id="close" onclick="closeWindow()">Close Window</button>

并使用JavaScript代码

代码语言:javascript
复制
const {remote} = require('electron');
const getWindow = () => remote.BrowserWindow.getFocusedWindow();

    function closeWindow () {
        getWindow().close();
    }

    function minimizeWindow () {
        getWindow().minimize();
    }

    function maximizeWindow () {
        const window = getWindow();
        window.isMaximized() ? window.unmaximize() : window.maximize();
    }

构建应用程序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70544430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档