消息框脚本代码

1.调用和定制消息框内容脚本

using UnityEngine;

class MessageBox
{
    static Object cacheObject = null;

    public static UIMessageBox Show(string message, string title = "", MessageBoxType type = MessageBoxType.Information, string btnOK = "", string btnCancel = "")
    {
        if (cacheObject == null)
        {
            cacheObject = Resloader.Load<Object>("UI/UIMessageBox");
        }

        GameObject go = (GameObject)GameObject.Instantiate(cacheObject);
        UIMessageBox msgbox = go.GetComponent<UIMessageBox>();
        msgbox.Init(title, message, type, btnOK, btnCancel);
        return msgbox;
    }
}

public enum MessageBoxType
{
    /// <summary>
    /// Information Dialog with OK button
    /// </summary>
    Information = 1,

    /// <summary>
    /// Confirm Dialog whit OK and Cancel buttons
    /// </summary>
    Confirm = 2,

    /// <summary>
    /// Error Dialog with OK buttons
    /// </summary>
    Error = 3
}

2.绑定到预制体消息框脚本

using UnityEngine;
using UnityEngine.Events;
using UnityEngine.UI;

public class UIMessageBox : MonoBehaviour
{

    public Text title;
    public Text message;
    public Image[] icons;
    public Button buttonYes;
    public Button buttonNo;
    public Button buttonClose;

    public Text buttonYesTitle;
    public Text buttonNoTitle;

    public UnityAction OnYes;
    public UnityAction OnNo;


    // Use this for initialization
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {

    }

    public void Init(string title, string message, MessageBoxType type = MessageBoxType.Information, string btnOK = "", string btnCancel = "")
    {
        if (!string.IsNullOrEmpty(title)) this.title.text = title;
        this.message.text = message;
        this.icons[0].enabled = type == MessageBoxType.Information;
        this.icons[1].enabled = type == MessageBoxType.Confirm;
        this.icons[2].enabled = type == MessageBoxType.Error;

        if (!string.IsNullOrEmpty(btnOK)) this.buttonYesTitle.text = btnOK;
        if (!string.IsNullOrEmpty(btnCancel)) this.buttonNoTitle.text = btnCancel;

        this.buttonYes.onClick.AddListener(OnClickYes);
        this.buttonNo.onClick.AddListener(OnClickNo);

        this.buttonNo.gameObject.SetActive(type == MessageBoxType.Confirm);
    }

    void OnClickYes()
    {
        Destroy(this.gameObject);
        if (this.OnYes != null)
            this.OnYes();
    }

    void OnClickNo()
    {
        Destroy(this.gameObject);
        if (this.OnNo != null)
            this.OnNo();
    }
}

调试代码:

 MessageBox.Show("两次输入的密码不一致");
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: wincc是西门子公司开发的一款基于Windows平台的监控与控制软件,可以实现对工业自动化生产过程的监控和控制。wincc支持使用C脚本编程,通过编写脚本可以实现一些自定义的功能。 弹出脚本是wincc中的一个常用功能,可以通过编写C脚本实现。弹出脚本通常用于提示用户输入信息或进行一些操作,可以在屏幕上弹出一个对话,在此对话中输入所需信息或进行相应操作。通常情况下,弹出脚本可以应用于以下场景: 1、弹出一个对话提示用户输入信息,例如文本或数字等。 2、弹出一个警告提示用户出现故障或异常情况,需要采取相应的措施。 3、弹出一个菜单栏,提供用户选择不同的操作或功能。 通过编写C脚本可以实现wincc中的弹出脚本功能,需要使用wincc提供的API函数和命令。在编写脚本时,需要注意脚本的逻辑性和可读性,避免出现错误和漏洞。同时,需要确保脚本的兼容性和稳定性,以确保其正常运行。 ### 回答2: 在WinCC中,可以使用C脚本创建弹出脚本窗口。弹出脚本可以用于显示警告或错误消息,请求用户输入数据或执行其他任务。下面是一个简单的弹出脚本示例: 1. 在WinCC中创建一个新的C脚本并命名为“弹出脚本”。 2. 在脚本中使用“Popup”函数创建一个弹出窗口。该函数需要指定窗口标题、消息文本、按钮选项等参数。下面是示例代码: Popup("警告", "您的操作可能会导致系统损坏,请谨慎操作!", "确定", "取消"); 3. 保存并运行脚本。当脚本执行时,弹出窗口将显示警告消息和包含“确定”和“取消”按钮的按钮组。 4. 如果用户单击“确定”按钮,则可以执行其他任务或显示其他弹出窗口。如果用户单击“取消”按钮,则窗口将关闭,脚本终止。 总之,弹出脚本是WinCC C脚本的一个强大特性,可以用于在运行时显示警告、错误或其他消息,并与用户交互以执行任务。通过使用弹出脚本,可以改善WinCC应用程序的用户界面和用户体验。 ### 回答3: WinCC是西门子公司开发的一款工控软件,它的C脚本是一种程序代码,可以使用它来编写弹出脚本。 弹出脚本是WinCC运行时动态创建一个弹出窗口,用来执行一些自定义的操作。这个弹出窗口中可以包含各种类型的控件,例如文本、按钮、复选等。C脚本可以用来控制这些控件的显示和行为。 在WinCC中使用C脚本创建弹出脚本,需要使用以下步骤: 1. 打开WinCC开发环境,进入编程编辑器,新建一个C脚本。 2. 在C脚本中编写代码,例如创建一个弹出窗口并添加所需控件。 3. 在WinCC界面中添加一个按钮或其他控件,设置好其触发事件为执行C脚本。 4. 在触发事件中调用编写好的C脚本,用来动态创建弹出窗口并执行所需操作。 通过使用WinCC的C脚本进行弹出窗口的创建,可以在WinCC中实现一些自定义的功能,满足特定的应用需求。在实际工程中,还需要深入学习和研究WinCC的C脚本编程,才能更好地开发出实用的工控软件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值